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:
<code class="language-csharp">public enum MyEnum { Name1 = 1, [Description("另一个描述")] HereIsAnother = 2, [Description("最后一个描述")] LastOne = 3 }</code>
<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>
<code class="language-csharp">var myEnumDescriptions = from MyEnum n in Enum.GetValues(typeof(MyEnum)) select new { ID = (int)n, Name = GetEnumDescription(n) };</code>
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>
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!