注意:其中可能使用部分自定义的扩展方法用于类型转换,在使用中需要你自己改一下
/// <summary> /// 枚举管理 /// </summary> public class EnumHandler { /// <summary> /// 获取数据源,需再次转换为DataTable /// </summary> /// <param name="t"></param> /// <returns></returns> public static IList<ItemInfo> GetList(Type t) { if (typeof(Enum) != t.BaseType) { throw new Exception(t.Name + "类型参数不合法,当前泛型类的类型参数必须为枚举类型"); } IList<ItemInfo> list = new List<ItemInfo>(); IList<string> listName = Enum.GetNames(t); Array listValue = Enum.GetValues(t); int i = 0; foreach (int item in listValue) { ItemInfo info = new ItemInfo(item.ToString(), listName[i]); list.Add(info); i++; } return list; } /// <summary> /// 直接获取枚举类型的数据源 DataTable /// </summary> /// <param name="t"></param> /// <returns></returns> public static DataTable GetDataTable(Type t) { return GetList(t).ToDataTable(); } }