using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; namespace Ant.Service.Utility { public class EnumPlus { /// /// 获取枚举的描述信息 /// /// 枚举值 /// 描述信息 public static string GetEnumDesc(Enum e) { var enumInfo = e.GetType().GetField(e.ToString()); var enumAttributes = (DescriptionAttribute[])enumInfo.GetCustomAttributes(typeof(DescriptionAttribute), false); return enumAttributes.Length > 0 ? enumAttributes[0].Description : e.ToString(); }//end method /// /// 重载将含有描述信息的枚举绑定到列表控件中的方法 /// /// 待绑定控件 /// 枚举类型申明 public static List DesEnumToList(Type enumType) { List enumlist = new List(); foreach (object enumValue in Enum.GetValues(enumType)) { if (enumValue != null) { EnumModel mod = new EnumModel(); mod.Desc = GetEnumDesc((Enum)enumValue); mod.Name = enumValue.ToString(); mod.Value = enumValue.ToInt32(); enumlist.Add(mod); } } return enumlist; }//end method } public class EnumModel { /// /// 枚举名称 /// public string Name { get; set; } /// /// 枚举的值 /// public int Value { get; set; } /// /// 枚举的备注 /// public string Desc { get; set; } } }