zoukankan      html  css  js  c++  java
  • 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);
                    }
                }
  • 相关阅读:
    mouseOver与rollOver
    排序二叉树
    发展
    bitmapData
    回调与事件
    遍历舞台上所有对象
    面向对象原则
    面向对象的三大特征(个人理解)
    面向对象出现原因以及意义
    OC语言BLOCK和协议
  • 原文地址:https://www.cnblogs.com/likui-bookHouse/p/13391823.html
Copyright © 2011-2022 走看看