可能是重复问题:
C#中的枚举类型约束
是否可以使用其包装类Enum
,将enum
类型作为通用参数?
我有不同的枚举:
enum errors1 { E1, E3, E8 };
enum errors2 { E0, E2, E9 };
enum errors3 { E7, E4, E5 };
通过以下类声明,我认为我可以实现它:
public class MyErrors<T> where T : Enum
{
T enumeration;
public T getEnumeration()
{
return enumeration;
}
static void Main(string[] args)
{
Program<error1> p = new Program<error1>();
p.getEnumeration().E1 // this call does NOT work
}
然而,由于一般类型为 Enum
,我只能访问 Enum
类的成员和方法。那么是否有可能按照我原来的方式实现它,或者应该使用什么其他方法?