我想知道是否可以获取enum
值的属性而不是enum
本身的属性?例如,假设我有以下enum
:
using System.ComponentModel; // for DescriptionAttribute
enum FunkyAttributesEnum
{
[Description("Name With Spaces1")]
NameWithoutSpaces1,
[Description("Name With Spaces2")]
NameWithoutSpaces2
}
我希望的是,对于给定的枚举类型,能够生成枚举字符串值和其描述的2元组。
处理枚举值很容易:Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum));
foreach (int value in values)
Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value);
但是我该如何获取描述属性的值,以填充Tuple.Desc
?如果属性属于enum
本身,我能想到如何做到这一点,但是我不知道如何从enum
的值中获取它。
DescriptionAttribute
并没有什么特别之处。 - jrh