using System; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace LiveForum.Code.Utility { public static class EunmHelp { public static string FetchDescription(this Enum value) { FieldInfo fi = value.GetType().GetField(value.ToString()); DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes( typeof(DescriptionAttribute), false); return (attributes.Length > 0) ? attributes[0].Description : value.ToString(); } /// /// 获取对应的枚举描述 /// /// /// public static string GetEnumDescription(int a) where T : Enum { var EnumDescription = ""; Type t = typeof(T); Array arrays = Enum.GetValues(t); for (int i = 0; i < arrays.LongLength; i++) { //获取value T test = (T)arrays.GetValue(i); FieldInfo fieldInfo = test.GetType().GetField(test.ToString()); object[] attribArray = fieldInfo.GetCustomAttributes(false); DescriptionAttribute attrib = (DescriptionAttribute)attribArray[0]; if ((int)(object)test ==a) { EnumDescription = attrib.Description; } } return EnumDescription; } } }