【发布时间】:2012-02-01 00:11:15
【问题描述】:
我正在尝试创建以下类名签名:
public class MyClass<T> where T : struct, MyBase
(我使用 struct 来约束 Enums)
我遇到了错误
The class type constraint 'MyBase' must come before any other constraints
我理解该消息,但是重新排列代码我无法克服该错误或其他一些语法错误。如果有的话,我该如何修复这条线?
如果需要,我会删除struct。
谢谢
【问题讨论】:
-
感谢大家的不同选择,因为你们阅读方式不同。
-
坏消息传播缓慢,您不能将类型参数限制为 System.Enum。历史对枚举并不友好,它们的实现类型具有不同的大小,因此在结构上不兼容。 C 语言中的一项优化过多,由于互操作而坚持使用 C#。