我想编写一个函数,它可以验证给定值(作为字符串传递)对可能的值enum.在匹配的情况下,它应该返回枚举实例; 否则,它应该返回一个默认值.
该函数可能不在内部使用try/ catch,它排除使用Enum.Parse,在给定无效参数时抛出异常.
我想使用TryParse函数的一些东西来实现这个:
public static TEnum ToEnum<TEnum>(this string strEnumValue, TEnum defaultValue)
{
object enumValue;
if (!TryParse (typeof (TEnum), strEnumValue, out enumValue))
{
return defaultValue;
}
return (TEnum) enumValue;
}
Run Code Online (Sandbox Code Playgroud)