Возможный дубликат:
Ограничения типа Enum в С#
Можно ли использовать типы 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
. Так можно ли реализовать его так, как я хотел или какой другой подход использовать?