記錄一下,方便自己下次使用。
public class EnumHelper { /// <summary> /// 將枚舉轉為集合 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public static List<EnumEntity> EnumToList<T>() { List<EnumEntity> list = new List<EnumEntity>(); foreach (var e in Enum.GetValues(typeof(T))) { EnumEntity m = new EnumEntity(); object[] objArr = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true); if (objArr != null && objArr.Length > 0) { DescriptionAttribute da = objArr[0] as DescriptionAttribute; m.Desction = da.Description; } m.EnumValue = Convert.ToInt32(e); m.EnumName = e.ToString(); list.Add(m); } return list; } /// <summary> /// 獲取枚舉描述 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="EnumName"></param> /// <returns></returns> public static string GetEnumDesction<T>(string EnumName) { foreach (var e in Enum.GetValues(typeof(T))) { if (e.ToString() != EnumName) continue; EnumEntity m = new EnumEntity(); object[] objArr = e.GetType().GetField(e.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true); if (objArr != null && objArr.Length > 0) { DescriptionAttribute da = objArr[0] as DescriptionAttribute; return da.Description; } } return ""; } } /// <summary> /// 枚舉實體 /// </summary> public class EnumEntity { /// <summary> /// 枚舉的描述 /// </summary> public string Desction { set; get; } /// <summary> /// 枚舉名稱 /// </summary> public string EnumName { set; get; } /// <summary> /// 枚舉對象的值 /// </summary> public int EnumValue { set; get; } }