如何将字符串转换为C#中的Enum-Tag值(作为枚举名称)?

How to Cast string to be the Enum-Tag value in C# ( to be The Enum Name )?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Cast a String to an Enum Tag in C#

如何转换名称为现有枚举标记(名称为枚举标题)的字符串成为枚举类型

不成为枚举列出的变量值之一,但是要成为枚举标记名,哪个是枚举类型?

例如,我可能

1
Enum MyEnum { A,B,C,D };

然后

1
String a ="MyEnum";


需要使用枚举将其解析为枚举。分析:

1
myEnum result = (myEnum)Enum.Parse(typeof(myEnum), stringToConvert);

这里有几个要素需要考虑。首先,enum.parse采用目标枚举的类型。其次,它只返回类型对象,因此需要手动将其转换为正确的枚举类型。


1
MyEnum value = (MyEnum)Enum.Parse(typeof(MyEnum),"myname");


1
Enum e = (Enum)Enum.Parse(typeof(Enum),"A", true);

应该这样做