Generic C# method taking where the enum value as a parameter
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Create Generic method constraining T to an Enum
给定只对枚举值执行操作的泛型方法
1 2 3 4 | static void <T> method(T enum) where T ????? { // do something with enum... } |
如何约束
对枚举类型的泛型约束在C中是不可能的,但在IL中是可能的。看看乔恩·斯基特的计划,无约束的旋律,它将允许你约束你的通用方法去枚举。
在C中,您不能这样做。出于某种原因,我不知道C规范明确禁止cx1(0)作为约束。
即使这样,它也不会接受可以为空的枚举,因为可以为空的枚举不是枚举。