测试一个对象是否是 Enum

发布于 2024-09-02 18:41:44 字数 148 浏览 4 评论 0原文

我想知道“theObject”是否是一个枚举(任何枚举类型)

 foreach (var item in Enum.GetValues(theObject.GetType())) {

     //do something
 }

I would like to know if 'theObject' is an enum (of any enum type)

 foreach (var item in Enum.GetValues(theObject.GetType())) {

     //do something
 }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

海的爱人是光 2024-09-09 18:41:44

问题就是答案。 :)

bool isEnum = theObject is Enum;

The question is the answer. :)

bool isEnum = theObject is Enum;
尬尬 2024-09-09 18:41:44

如果您有类型,请使用 Type.IsEnum 属性,例如:

bool isEnum = theObject.GetType().IsEnum;

If you have a Type, use the Type.IsEnum property, e.g.:

bool isEnum = theObject.GetType().IsEnum;
一指流沙 2024-09-09 18:41:44

只需使用

if (theObject is Enum)
 //is an enum

just use

if (theObject is Enum)
 //is an enum
伴我心暖 2024-09-09 18:41:44

对于泛型类型参数,可以对参数进行约束而不是测试:

where T : Enum

For generic type parameters, the parameter can be constrained rather than tested:

where T : Enum
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文