我想知道'theObject'是否是枚举(任何枚举类型)
foreach (var item in Enum.GetValues(theObject.GetType())) {
//do something
}
答案 0 :(得分:190)
问题是答案。 :)
bool isEnum = theObject is Enum;
答案 1 :(得分:58)
如果您有Type
,请使用Type.IsEnum
属性,例如:
bool isEnum = theObject.GetType().IsEnum;
答案 2 :(得分:7)
只需使用
if (theObject is Enum)
//is an enum
答案 3 :(得分:2)
对于泛型类型参数,可以对参数进行约束而不是对其进行测试:
where T : Enum