将枚举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