C#获取枚举类型字段Desc
public static class GetEnumDescriptionInfo
{
public string GetEnumDescription(Enum enumValue)
{
string value = enumValue.ToString();
FieldInfo field = enumValue.GetType().GetField(value);
object[] obj = field.GetCustomAttributes(typeof(DescriptionAttribute), false); //获取描述属性
if (obj == null || obj.Length == 0) //当未设置描述属性时,直接返回名称
return value;
DescriptionAttribute descriptionAttribute = (DescriptionAttribute)obj[0];
return descriptionAttribute.Description;
}
}
调用Desc
枚举字段示例
public enum UserTypeEnum
{
#region 用户类型枚举
/// <summary>
/// 管理用户
/// </summary>
[Description("管理用户")]
Manager = 1,
/// <summary>
/// 普通用户
/// </summary>
[Description("普通用户")]
Admin = 2,
#endregion
}
GetEnumDescriptionInfo getEnumDescription = new GetEnumDescriptionInfo();
//获取指定枚举值的枚举描述
string getDesc = getEnumDescription.GetEnumDescription(UserTypeEnum.Manager);