Using enum as generic type parameter in C#

Viewed 51333

Possible Duplicate:
Enum type constraints in C#

Is it possible to use enum types as a generic paramter by using its wrapper class Enum?

I have different enums:

enum errors1 { E1, E3, E8 };
enum errors2 { E0, E2, E9 };
enum errors3 { E7, E4, E5 };

With the following class declaration I thought I could achieve it:

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
   }

However, since the general type is Enum I can only access the member and methods of the Enum class. So is it possible to implement it the way I meant to or what other approach should I use?

2 Answers
Related