Search code examples
c#genericstype-constraints

Generic C# method taking where the enum value as a parameter


Possible Duplicate:
Create Generic method constraining T to an Enum

Given a generic method that only operates on enum values

static void <T> method(T enum) where T ?????
{
     // do something with enum...
}

How do I constrain T such that only enum values are accepted? I've tried using struct however this disallows the use calling my method with a nullable enum type.


Solution

  • Generic constraints on enum types are impossible in C#, but are possible in IL. Have a look at Jon Skeet's project, Unconstrained Melody, it will allow you to constraint your generic methods to enums.