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); } }