详解如何通过反射获得枚举的Display中name的值实例?
程序员文章站
2022-03-05 14:45:18
...
/// <summary>/// 政治面貌/// </summary>public enum EumPoliticSstatus { [Display(Name = "党员")] PartyMember = 1, [Display(Name = "团员")] Member = 2, [Display(Name = "群众")] Masses = 3, [Display(Name = "*党派")] DemocraticParty = 4}
先定义枚举
public static string GetEnumDesc(Enum en) { Type type = en.GetType(); MemberInfo[] memInfo = type.GetMember(en.ToString());if (memInfo != null && memInfo.Length > 0) {object[] attrs = memInfo[0].GetCustomAttributes(typeof(System.ComponentModel.DataAnnotations.DisplayAttribute), false);if (attrs != null && attrs.Length > 0)return ((System.ComponentModel.DataAnnotations.DisplayAttribute)attrs[0]).Name; }return en.ToString(); }
上面这个方法根据传入的枚举值通过反射获得display中name的值
var name =GetEnumDesc(EumPoliticSstatus.PartyMember),
以上就是详解如何通过反射获得枚举的Display中name的值实例?的详细内容,更多请关注其它相关文章!
上一篇: 分享一个PythonCGI编程的实例教程
下一篇: 初学XML的基础知识-认识XML的作用