Attribute von Enums Wert erhalten

Ich würde gerne wissen, ob es möglich ist, zu erhalten Attribute der enum-Werte und nicht die enum selbst? Zum Beispiel, angenommen ich habe folgende enum:

using System.ComponentModel; //for DescriptionAttribute

enum FunkyAttributesEnum
{
    [Description("Name With Spaces1")]
    NameWithoutSpaces1,    
    [Description("Name With Spaces2")]
    NameWithoutSpaces2
}

Was ich will, ist angesichts der enum-Typ, produzieren 2-Tupel enum string-Wert und dessen Beschreibung.

Wert war leicht:

Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum));
foreach (int value in values)
    Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value);

Aber wie bekomme ich die Beschreibung Attribut-Wert, der zum Auffüllen Tupel.Desc? Ich kann mir denken, wie es zu tun, wenn das Attribut gehört zu den enum selbst, aber ich bin an einem Verlust, wie man es aus dem Wert des enum.

InformationsquelleAutor der Frage Alex K | 2009-11-25

Schreibe einen Kommentar