其他分享
首页 > 其他分享> > 枚举类型仅在运行时已知时如何枚举?

枚举类型仅在运行时已知时如何枚举?

作者:互联网

我在stackoverflow上找到了此答案以枚举某种类型的枚举:

var values = (SomeType[])Enum.GetValues(typeof(SomeType));

如果我对枚举类型进行硬编码,这将非常有效.但是我需要能够在运行时设置类型.我尝试了以下操作,但这不起作用:

var values = (typeof(T)[])Enum.GetValues(typeof(T));

解决方法:

您的T已经是Type类型.无需使用另一种typeof.一个简单的T []强制转换就足够了:

T[] values = (T[]) Enum.GetValues(typeof(T));

标签:enums,c
来源: https://codeday.me/bug/20191121/2048558.html