首頁 > 後端開發 > C#.Net教程 > 詳解如何透過反射來獲得枚舉的Display中name的值實例?

詳解如何透過反射來獲得枚舉的Display中name的值實例?

零下一度
發布: 2017-06-23 16:18:18
原創
4150 人瀏覽過
         /// <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的值實例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
為什麼Controller::display可以直接用
來自於 1970-01-01 08:00:00
0
0
0
前端 - 請問display: -webkit-flex;是什麼意思?
來自於 1970-01-01 08:00:00
0
0
0
l老師disp;ay:block
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板