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();
记录和分享用过的技术、基础、方法