using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace wispro.sp.utility { public class EmunHelper { ///// ///// 根据枚举的值获取枚举名称 ///// ///// 枚举类型 ///// 枚举的值 ///// //public static string GetEnumName(this int status) //{ // return Enum.GetName(typeof(T), status); //} /// /// 获取枚举名称集合 /// /// /// public static string[] GetNamesArr() { return Enum.GetNames(typeof(T)); } /// /// 将枚举转换成描述字典集合 /// /// 枚举类型 /// public static Dictionary getEnumDescriptionDic() { Dictionary resultList = new Dictionary(); Type type = typeof(T); var strList = GetNamesArr().ToList(); foreach (string key in strList) { var obj = (T)Enum.Parse(type, key); FieldInfo field= obj.GetType().GetField(obj.ToString()); DescriptionAttribute att = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute), false) as DescriptionAttribute; if (att == null) { resultList.Add(key, obj); } else { resultList.Add(att.Description, obj); } } return resultList; } /// /// 将枚举转换成字典 /// /// /// public static Dictionary GetDic() { Dictionary dic = new Dictionary(); Type t = typeof(TEnum); var arr = Enum.GetValues(t); foreach (var item in arr) { dic.Add(item.ToString(), (int)item); } return dic; } } }