c# 获取枚举字段描述
有时候,我们在定义枚举类型时,可能多个枚举结果属于一大类,当涉及到数据统计时,往往会对枚举类型或大类进行分组分类。
为了统一管理代码,尽量不要在代码逻辑中来自己制定分类。这个时候,在枚举上统一定义管理,就要合理得多。
/// <summary> /// 生活方式枚举 /// </summary> public enum LifeStyle { [Description("学习充电")] 读书 = 1, [Description("学习充电")] 写博客 = 2, [Description("学习充电")] 上网课 = 3, [Description("娱乐休闲")] 打游戏 = 4, [Description("娱乐休闲")] 逛街 = 5, [Description("娱乐休闲")] 看小说 = 6, [Description("运动健身")] 羽毛球 = 7, [Description("运动健身")] 爬山 = 8, [Description("运动健身")] 跑步 = 9, } public class EnumModel { public string name { get; set; } public int value { get; set; } public string desc { get; set; } } static void Main(string[] args) { List<EnumModel> result = new List<EnumModel>(); var EnumInfo = (typeof(LifeStyle)).GetFields(); foreach (var item in EnumInfo) { EnumModel model = new EnumModel(); DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])item.GetCustomAttributes(typeof(DescriptionAttribute), false); if (EnumAttributes.Length > 0) { model.desc = EnumAttributes[0].Description; model.value = item.GetValue(typeof(LifeStyle)).GetHashCode(); model.name = item.Name; result.Add(model); } }