我试图创建下面的类名的签名:类约束必须出现在任何其他约束
public class MyClass<T> where T : struct, MyBase
(我使用结构约束,以枚举)
我收到错误
The class type constraint 'MyBase' must come before any other constraints
我知道这条消息,但是,重新排列代码我无法越过那个或其他语法错误。如果可以的话,我该如何修复这条线?
如果必须,我会删除struct
。
谢谢
谢谢大家,因为你们用不同的方式阅读你的不同选择。 – 2012-02-01 00:27:24
坏消息传播缓慢,你不能限制System.Enum的类型参数。历史对枚举并不友好,它们的实现类型具有不同的大小,从而在结构上不兼容。 C语言中的一个优化太多了,因为互操作而被C#困住了。 – 2012-02-01 00:58:04