微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

详解如何通过反射获得枚举的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),

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐