首页 > Web开发 > 详细

将枚举Json化(键:枚举Value,值:描述)

时间:2021-07-01 09:34:49      阅读:53      评论:0      收藏:0      [点我收藏+]
/// <summary>
        /// 将枚举对象转化为
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static string EnumToJson(this Type type)
        {
            if (!type.IsEnum)
                throw new InvalidOperationException("enum expected");

            var enumValues =Enum.GetValues(type);
            Dictionary<int, string> result = new Dictionary<int, string>();
            foreach (var item in enumValues)
            {
                //FieldInfo fieldInfo = type.GetField(item);
                string name = Enum.GetName(type, item);
                if (name != null)
                {
                    // 获取枚举字段。
                    FieldInfo fieldInfo = type.GetField(name);
                    if (fieldInfo != null)
                    {
                        // 获取描述的属性。
                        DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo,
                            typeof(DescriptionAttribute), false) as DescriptionAttribute;
                        if (attr != null)
                        {
                            result.Add((int)item,attr.Description);
                        }
                    }
                }
            }
            return JsonConvert.SerializeObject(result);
        }

  直接写在枚举内

将枚举Json化(键:枚举Value,值:描述)

原文:https://www.cnblogs.com/bihuijia/p/14957027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!