阅读 52

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

/// 
        /// 将枚举对象转化为
        /// 
        /// 
        /// 
        public static string EnumToJson(this Type type)
        {
            if (!type.IsEnum)
                throw new InvalidOperationException("enum expected");

            var enumValues =Enum.GetValues(type);
            Dictionary result = new Dictionary();
            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);
        }

  直接写在枚举内

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

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐