使用反射设置枚举
如何使用反射设置枚举,
我的类有 enum :
public enum LevelEnum
{
NONE,
CRF,
SRS,
HLD,
CDD,
CRS
};
并且在运行时我想将该枚举设置为 CDD 例如。
我该怎么办?
How to set Enums using reflection,
my class have enum :
public enum LevelEnum
{
NONE,
CRF,
SRS,
HLD,
CDD,
CRS
};
and in runtime I want to set that enum to CDD for ex.
How can I do it ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试使用类枚举
Try use of class Enum
因此基本上您只需解析与您希望分配给变量的枚举值相对应的字符串。如果字符串不是枚举的已定义成员,则会失败。您可以使用 Enum.IsDefined(typeof(LevelEnum),input); 进行检查
So basically you just parse the string corresponding to the enum value that you wish to assign to the variable. This will blow if the string is not a defined member of the enum. you can check that with
Enum.IsDefined(typeof(LevelEnum),input);