作者:胡龙云积极_622 | 来源:互联网 | 2023-10-14 18:20
如何从值的类型和名称创建枚举对象?我有一个枚举的类型(System.Type)和一个包含要设置的枚举值的字符串。例如给出:enumMyEnum{A,B,C};我有typeof(My
如何从值的类型和名称创建枚举对象?
我有一个枚举的类型(System.Type)和一个包含要设置的枚举值的字符串。
例如给出:
enum MyEnum { A, B, C };
我有typeof(MyEnum)和“B”。
如何创建设置为MyEnum.B的MyEnum对象?
MyEnum enumValue = (MyEnum)Enum.Parse(typeof(MyEnum), "B");
您还有一个不区分大小写的重载。
我假设您无法访问MyEnum,只能访问typeof(MyEnum):
void foo(Type t) { Object o = Enum.Parse(t, "B"); }
你可以用generics来做到这一点。 我创建了一个Utility类来包装它:
public static class Utils { public static T ParseEnum(string value) { return (T)Enum.Parse(typeof(T), value, true); }
然后调用如:
上述就是C#学习教程:如何从值的类型和名称创建枚举对象?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—编程笔记
string s = "B"; MyEnum enumValue = Utils.ParseEnum(s);