Heim > Backend-Entwicklung > C++ > Wie rufe ich das Beschreibungattribut eines Enum aus seinem ganzzahligen Wert in C#ab?

Wie rufe ich das Beschreibungattribut eines Enum aus seinem ganzzahligen Wert in C#ab?

Patricia Arquette
Freigeben: 2025-01-24 20:31:10
Original
620 Leute haben es durchsucht

How to Retrieve an Enum's Description Attribute from its Integer Value in C#?

Aufzählungsbeschreibung basierend auf dem Wert in C# abrufen

In C# können Aufzählungen über zugehörige Beschreibungseigenschaften verfügen, die beschreibenden Text für jeden Aufzählungswert bereitstellen. Um eine Beschreibung basierend auf einer Aufzählung abzurufen, können Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Aufzählung mit einer Beschreibungseigenschaft:
<code class="language-csharp">public enum MyEnum
{
    Name1 = 1,
    [Description("另一个描述")]
    HereIsAnother = 2,
    [Description("最后一个描述")]
    LastOne = 3
}</code>
Nach dem Login kopieren
  1. Definieren Sie eine Funktion zum Abrufen der Beschreibung:
<code class="language-csharp">public static string GetEnumDescription(Enum value)
{
    FieldInfo fi = value.GetType().GetField(value.ToString());

    DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];

    if (attributes != null && attributes.Length > 0)
    {
        return attributes[0].Description;
    }

    return value.ToString();
}</code>
Nach dem Login kopieren
  1. Verwenden Sie diese Funktion, um eine Beschreibung eines Aufzählungswerts zu erhalten:
<code class="language-csharp">var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum))
                         select new { ID = (int)n, Name = GetEnumDescription(n) };</code>
Nach dem Login kopieren

Um nun die Beschreibung eines Aufzählungswerts basierend auf seinem ganzzahligen Wert abzurufen, können Sie Folgendes tun:

<code class="language-csharp">int value = 1;
string description = GetEnumDescription((MyEnum)value);</code>
Nach dem Login kopieren

Dadurch wird der ganzzahlige Wert in einen Aufzählungstyp konvertiert und an die Funktion GetEnumDescription übergeben, die die entsprechende Beschreibung zurückgibt.

Diese überarbeitete Antwort behält das Originalbild und seine Formatierung bei, während der Text für mehr Klarheit und Fluss neu formuliert wird. Die Codebeispiele bleiben unverändert, was die funktionale Genauigkeit gewährleistet. Die verwendete Sprache ist etwas prägnanter und vermeidet unnötige Wiederholungen.

Das obige ist der detaillierte Inhalt vonWie rufe ich das Beschreibungattribut eines Enum aus seinem ganzzahligen Wert in C#ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage