1.字符串转枚举
先上代码
public T Converter<T>(string str)
{
var typeConverter = System.ComponentModel.TypeDescriptor.GetConverter(typeof(T));
if (typeConverter.CanConvertTo(typeof(T)))
return (T)typeConverter.ConvertFromString(str);
return default(T);
}
这里主要用到了TypeConverter,可尝试用于转换其他类型,比较通用
针对枚举,当然也可以用 Enum.Parse()
2.通过反射获取枚举值
var val = Enum.Format(enumPropertyType, Enum.Parse(enumPropertyType, enumName), "d");