Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung, wie man durch Reflektion die Wertinstanz von name in der aufgezählten Anzeige erhält?

Detaillierte Erklärung, wie man durch Reflektion die Wertinstanz von name in der aufgezählten Anzeige erhält?

零下一度
零下一度Original
2017-06-23 16:18:184060Durchsuche
         /// <summary>/// 政治面貌/// </summary>public enum EumPoliticSstatus
        {
            [Display(Name = "党员")]
            PartyMember = 1,
            [Display(Name = "团员")]
            Member = 2,
            [Display(Name = "群众")]
            Masses = 3,
            [Display(Name = "民主党派")]
            DemocraticParty = 4}

Definieren Sie zunächst die Aufzählung

 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();
        }

Die obige Methode ermittelt den Wert des Namens in der Anzeige durch Reflexion basierend auf der eingehenden Aufzählung Wert

 var name =GetEnumDesc(EumPoliticSstatus.PartyMember),

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie man durch Reflektion die Wertinstanz von name in der aufgezählten Anzeige erhält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn