【发布时间】:2019-06-05 06:58:09
【问题描述】:
如何使用泛型从枚举中获取最大 int 值?
我尝试了以下方法,但它显示以下编译错误:
无法将 T 隐式转换为 int
int maxValue = GetMaxValue<SomeEnum>(typeof(SomeEnum)); //expecting 2
private static int GetMaxValue<T>(Type enumType)
{
return Enum.GetValues(enumType).Cast<T>().Max();
}
public enum SomeEnum
{
ValueOne = 1,
Value = 2
}
【问题讨论】:
-
枚举只能定义为int,为什么要使用泛型并尝试强制转换?
-
@ALFA 其实枚举也可以定义为字节、短或长