public enum LogLevelEnum
{
[Description("未分配")]
None = 0,
[Description("非常重要")]
Critical = 1,
[Description("重要")]
Important = 2,
[Description("一般")]
Normal = 3,
[Description("提示")]
Remind = 4,
}
public static class EnumExtensions
{
/// <summary>
/// 获取描述
/// </summary>
/// <param name="val">枚举值</param>
/// <returns>描述</returns>
public static string GetDescription(this Enum val)
{
var field = val.GetType().GetField(val.ToString());
var customAttribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute));
return customAttribute == null ? val.ToString() : ((DescriptionAttribute)customAttribute).Description;
}
}
LogLevelEnum logLevel = LogLevelEnum.Important;
string logContent = logLevel.GetDescription();