反射相关函数获取枚举描述函数
public static string GetEnumDescription(Enum enumValue) { string value = enumValue.ToString(); FieldInfo field = enumValue.GetType().GetField(value); object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false); //获取描述属性 if (objs.Length == 0) //当描述属性没有时,直接返回名称 return value; DescriptionAttribute descriptionAttribute = (DescriptionAttribute)objs[0]; return descriptionAttribute.Description; }
PropertyInfo[] peroperties = typeof(companyEnum).GetProperties(BindingFlags.Public | BindingFlags.Instance); foreach (PropertyInfo property in peroperties) { object[] objs = property.GetCustomAttributes(typeof(DescriptionAttribute), true); if (objs.Length > 0) { ControlFiledData cfd = new ControlFiledData(); cfd.comname = "txt" + property.Name; cfd.labtext = ((DescriptionAttribute)objs[0]).Description; // Console.WriteLine("{0}: {1}", property.Name, ((DescriptionAttribute)objs[0]).Description); ListData.Add(cfd); } }
posted on 2018-12-06 21:44 HOT SUMMER 阅读(423) 评论(0) 收藏 举报
浙公网安备 33010602011771号