任何人都可以告诉我是否有一种方法可以使用泛型来限制泛型类型参数T:
Int16Int32Int64UInt16UInt32UInt64我知道的where关键字,但无法找到一个接口只有这些类型,
就像是:
static bool IntegerFunction<T>(T value) where T : INumeric
Run Code Online (Sandbox Code Playgroud) 我正在写一个DataStructure<T>持久存在磁盘上的通用,我需要写它,T以保证可以在固定的字节数中序列化.例如,int并且char应该被接受,但string还是int[]不应该.同样,struct带有string成员的a 是不可接受的,但unsafe struct带有fixed char数组的是.
我可以使用反射在初始化程序中编写运行时测试并sizeof测试每个成员,但这似乎是一个可怕的黑客.有没有有效的(相对)安全的方法来做到这一点?