我想创建一个通用约束,其中包含要成为值类型(结构)数组的类型,例如:
public class X<T> where T : struct[]
或者可能
public class X<T, U>
where U : struct
where T : U[]
但这不起作用。似乎 System.Array 不能用作类型约束。
那么 - 如何将泛型参数约束为结构数组?
第一次回答后更新:
public interface IDeepCopyable<T>
{
T DeepCopy(T t);
}
public class DeepCopyArrayOfValueTypes<T> : IDeepCopyable<T>
where T : is an array of value types
{
T Copy(T t) {...}
}