由于
EnumType实现了
IConvertible接口,因此更好的实现应如下所示:
public T GetEnumFromString<T>(string value) where T : struct, IConvertible{ if (!typeof(T).IsEnum) { throw new ArgumentException("T must be an enumerated type"); } //...}这仍然允许传递实现的值类型
IConvertible。机会虽然很少。



