2008-12-15 23 views
2

我试图做下面的扩展方法 - >一个int转换为枚举,当你提供枚举: -我可以用WHERE关键字限制这个c#扩展方法的定义吗?

public static T ToEnum<T>(this int value) 
{ 
    return (T)Enum.ToObject(typeof(T), value); 
} 

现在,我希望让这个你只能定义键入T是一个枚举。有什么我可以限制它吗?

例如。

int day = 3; 
DaysOfWeek dow = day<DaysOfWeek>(); // No compiler error. 
DaysOfWeek dow2 = day<Foo>(); // Compiler error. 

回答

相关问题