C#获取enum描述信息

 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();
posted @ 2022-05-07 10:18  Forbid404  阅读(245)  评论(0编辑  收藏  举报