【发布时间】:2011-06-22 10:27:37
【问题描述】:
是否可以通过使用其包装类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 类的成员和方法。那么是否可以按照我的意图实现它或者我应该使用什么其他方法?
【问题讨论】:
-
@Fildor 问题已关闭,我无法添加新答案。顶部链接的问题也已关闭。然后下一个链接的问题有一个答案stackoverflow.com/a/50289291/617543。 :-)