/// <summary> /// 政治面貌 /// </summary> public enum EumPoliticSstatus { [Display(Name = "党员")] PartyMember = 1, [Display(Name = "团员")] Member = 2, [Display(Name = "群众")] Masses = 3, [Display(Name = "民主党派")] DemocraticParty = 4 }
display的name值我们需要使用反射来获取
上面是我定义的一个枚举
首先我们需要定义一个静态类,为枚举添加一个扩展方法
public static class EumHelper { /// <summary> /// 获得枚举的displayName /// </summary> /// <param name="eum"></param> /// <returns></returns> public static string GetDisplayName(this Enum eum) { var type=eum.GetType();//先获取这个枚举的类型 var field=type.GetField(eum.ToString());//通过这个类型获取到值 var obj = (DisplayAttribute)field.GetCustomAttribute(typeof (DisplayAttribute));//得到特性 return obj.Name ?? ""; } }
然后我们就可以使用了
var displayName=EumPoliticSstatus.PartyMember.GetDisplayName()