通过反射获得枚举Display中name的值的方法是什么

小编给大家分享一下通过反射获得枚举Display中name的值的方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

         /// <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的值的方法是什么的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!