1 /// <summary> 2 /// get enum description by name 3 /// </summary> 4 /// <typeparam name="T">enum type</typeparam> 5 /// <param name="enumItemName">the enum name</param> 6 /// <returns></returns> 7 public static string GetDescriptionByName<T>(T enumItemName) 8 { 9 FieldInfo fi = enumItemName.GetType().GetField(enumItemName.ToString()); 10 11 DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes( 12 typeof(DescriptionAttribute), false); 13 14 if (attributes != null && attributes.Length > 0) 15 { 16 return attributes[0].Description; 17 } 18 else 19 { 20 return enumItemName.ToString(); 21 } 22 }
1 /// <summary> 2 /// 获取描述 3 /// </summary> 4 /// <param name="en"></param> 5 /// <returns></returns> 6 public static string GetEnumText(this Enum en) 7 { 8 FieldInfo fi = en.GetType().GetField(en.ToString()); 9 10 DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes( 11 typeof(DescriptionAttribute), false); 12 13 if (attributes != null && attributes.Length > 0) 14 { 15 return attributes[0].Description; 16 } 17 else 18 { 19 return en.ToString(); 20 } 21 }
1 /// <summary> 2 /// 枚举转list 3 /// </summary> 4 /// <typeparam name="T"></typeparam> 5 /// <returns></returns> 6 public static List<EnumModel> ConvertEnumToList<T>() 7 { 8 List<EnumModel> list = new List<EnumModel>(); 9 10 foreach (var e in Enum.GetValues(typeof(T))) 11 { 12 EnumModel m = new EnumModel(); 13 m.Value = Convert.ToInt32(e); 14 m.Description = EnumHelper.GetDescriptionByName((T)e); 15 list.Add(m); 16 } 17 return list; 18 } 19 20 public class EnumModel 21 { 22 public int Value { get; set; } 23 public string Description { get; set; } 24 }
1 /// <summary> 2 /// 根据枚举值获得枚举描述 3 /// </summary> 4 /// <param name="e"></param> 5 /// <param name="value"></param> 6 /// <returns></returns> 7 public static String GetEnumDesc(this Type e, int? value) 8 { 9 FieldInfo[] fields = e.GetFields(); 10 for (int i = 1, count = fields.Length; i < count; i++) 11 { 12 if ((int)System.Enum.Parse(e, fields[i].Name) == value) 13 { 14 DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])fields[i]. 15 GetCustomAttributes(typeof(DescriptionAttribute), false); 16 if (EnumAttributes.Length > 0) 17 { 18 return EnumAttributes[0].Description; 19 } 20 } 21 } 22 return ""; 23 }