【发布时间】:2009-09-15 03:30:01
【问题描述】:
我有一个像这样的枚举类型作为例子:
public Enum MyEnum {
enum1, enum2, enum3 };
我将从配置文件中读取一个字符串。我需要将字符串解析为 MyEnum 类型或 null 或未定义。不确定以下代码是否有效(抱歉,我现在无法访问我的 VS):
// example: ParseEnum<MyEnum>("ENUM1", ref eVal);
bool ParseEnum<T>(string value1, ref eVal) where T : Enum
{
bool bRet = false;
var x = from x in Enum.GetNames(typeof(T)) where
string.Equals(value1, x, StringComparison. OrdinalIgnoreCase)
select x;
if (x.Count() == 1 )
{
eVal = Enum.Parse(typeof(T), x.Item(0)) as T;
bRet = true;
}
return bRet;
}
不确定它是否正确或有任何其他简单的方法可以将字符串解析为 MyEnum 值?
【问题讨论】: