在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1 定义枚举: public enum Pepole { [Description("男孩")] boy=1, [Description("女孩")] girl=2, man=3 } 2 泛型方法:获取枚举的说明信息 public static Dictionary<string, string> GetEnumDescription<T>() { Dictionary<string, string> dic = new Dictionary<string, string>(); FieldInfo[] fields =typeof(T).GetFields(); foreach (FieldInfo field in fields) { if (field.FieldType.IsEnum) { object[] attr=field.GetCustomAttributes(typeof(DescriptionAttribute), false); string description = attr.Length == 0 ? field.Name : ((DescriptionAttribute)attr[0]).Description; dic.Add(field.Name, description); } } return dic; } /// <summary> /// 获取对应的枚举描述(中文) /// </summary> public static List<KeyValuePair<string, string>> GetEnumDescriptionList<T>() { List<KeyValuePair<string, string>> result = new List<KeyValuePair<string, string>>(); FieldInfo[] fields = typeof(T).GetFields(); foreach (FieldInfo field in fields) { if (field.FieldType.IsEnum) { object[] attr = field.GetCustomAttributes(typeof(DescriptionAttribute), false); string description = attr.Length == 0 ? field.Name : ((DescriptionAttribute)attr[0]).Description; result.Add(new KeyValuePair<string,string>(field.Name, description)); } } return result; } 3 使用方法: Dictionary<string, string> dic = GetEnumDescription<People>(); |
请发表评论