Ich würde gerne wissen, ob es möglich ist, Attribute der enum
Werte und nicht der enum
selbst? Angenommen, ich habe zum Beispiel folgendes enum
:
using System.ComponentModel; // for DescriptionAttribute
enum FunkyAttributesEnum
{
[Description("Name With Spaces1")]
NameWithoutSpaces1,
[Description("Name With Spaces2")]
NameWithoutSpaces2
}
Was ich will, ist der Enum-Typ gegeben, produzieren 2-Tupel von Enum-String-Wert und seine Beschreibung.
Der Wert war einfach:
Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum));
foreach (int value in values)
Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value);
Aber wie erhalte ich den Wert des Attributs description, um die Tuple.Desc
? Ich kann mir vorstellen, wie man es macht, wenn das Attribut zum enum
selbst, aber ich weiß nicht, wie ich ihn aus dem Wert der enum
.
0 Stimmen
Aus einer anderen Frage stackoverflow.com/questions/469287/
0 Stimmen
Mögliche Duplikate von Kennt jemand eine schnelle Möglichkeit, um benutzerdefinierte Attribute auf einen Enum-Wert zu erhalten?
3 Stimmen
Der für die Beschreibung erforderliche Namespace ist System.ComponentModel
0 Stimmen
Sie können auch einfach System.ComponentModel nicht verwenden und einfach Ihren eigenen Attributtyp verwenden; es gibt wirklich nichts Besonderes an
DescriptionAttribute
.0 Stimmen
Bitte sehen Sie sich diesen Link an: stackoverflow.com/a/58954215/5576498