我有描述一个枚举的属性是这样的:
public enum MyEnum
{
Name1 = 1,
[Description("Here is another")]
HereIsAnother = 2,
[Description("Last one")]
LastOne = 3
}
我发现这段代码的基础上检索说明Enum
public static string GetEnumDescription(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes =
(DescriptionAttribute[])fi.GetCustomAttributes(
typeof(DescriptionAttribute),
false);
if (attributes != null &&
attributes.Length > 0)
return attributes[0].Description;
else
return value.ToString();
}
这让我写这样的代码:
var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
select new { ID = (int)n, Name = Enumerations.GetEnumDescription(n) };
我想要做的是,如果我知道枚举值(例如1) - 我如何检索描述?换句话说,我如何将一个整数转换为一个“枚举值”传递给我的GetDescription方法?
(!属性= NULL)永远是真实的,否则是多余的。描述是System.ComponentModel – Jeff 2014-07-17 23:00:46
。正是我想要的。我知道这会很简单!现在,如果stackoverflow会让我接受这个答案......它说我需要等待7分钟。 – 2015-12-21 15:10:52