C#泛型:不允许枚举约束,为什么?

时间:2011-06-08 22:45:05

标签: c# generics

  

可能重复:
  Enum type constraints in C#

有人可以用一个简单的样本和简单的字向我解释为什么enum约束不允许在泛型类型上,即如果它们会发生什么有可能吗?

1 个答案:

答案 0 :(得分:2)

简单地说:因为他们不是。这就是语言的设计方式(你想要简单,对吧?:))

enum是一种值类型,因此您可以对通用类型where T : struct施加约束,并使用Type.IsEnum检入构造函数,如果返回false则抛出异常。 / p>