Ada*_*ear 17
你必须编写自己的反向方法.库存Parse()方法显然不了解您的描述属性.
这样的事情应该有效:
public static T GetEnumValueFromDescription<T>(string description)
{
MemberInfo[] fis = typeof(T).GetFields();
foreach (var fi in fis)
{
DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (attributes != null && attributes.Length > 0 && attributes[0].Description == description)
return (T)Enum.Parse(typeof(T), fi.Name);
}
throw new Exception("Not found");
}
Run Code Online (Sandbox Code Playgroud)
如果没有找到枚举值,你会想要找到一个更好的事情,而不是抛出异常.:)
| 归档时间: |
|
| 查看次数: |
8366 次 |
| 最近记录: |