如何使用DescriptionAttribute实现带空格的enum名称
本文关键字:enum 名称 空格 何使用 DescriptionAttribute 实现 | 更新日期: 2023-09-27 18:04:12
如何使用DescriptionAttibute
实现以下enums
?注意枚举值中的空格
public enum PersonGender
{
Unknown = 0,
Male = 1,
Female = 2,
Intersex = 3,
Indeterminate = 3,
Non Stated = 9,
Inadequately Described = 9
}
例如:
是我们的enum:
public enum MyEnum
{
[Description("Description for Foo")]
Foo,
[Description("Description for Bar")]
Bar
}
和我们获取Attribute的方法。
public static string GetDescription(this Enum value)
{
Type type = value.GetType();
string name = Enum.GetName(type, value);
if (name != null)
{
FieldInfo field = type.GetField(name);
if (field != null)
{
DescriptionAttribute attr =
Attribute.GetCustomAttribute(field,
typeof(DescriptionAttribute)) as DescriptionAttribute;
if (attr != null)
{
return attr.Description;
}
}
}
return null;
}
你可以得到description:
MyEnum x = MyEnum.Foo;
string description = x.GetDescription();
源