Auflistung der Werte innerhalb von enums mit der spiegelung in C#

Ich versuche, reflektion verwenden, um eine Liste der öffentliche member und Methoden, die von ein paar Klassen in verschiedenen Projekten innerhalb einer Visual Studio-Projektmappe. Alle Klassen, die ich versuche, access und C# sind Sie alle, auf die zugegriffen wird, aus einer C# - Klasse. Der code, den ich verwende, um diese Anrufe ist wie folgt:

public void PopulateEventParamTree()
    {
        System.Console.WriteLine(source.GetType().ToString());
        Type type = (Type)source.getEventType();
        System.Console.WriteLine(type.ToString());

        foreach (MemberInfo member in type.GetMembers())
        {
            System.Console.WriteLine("\t" + member.ToString());
        }
    }

Meisten Ausgänge funktionieren (z.B. Int32, Double, System.String). Mein problem ist, dass wenn ich versuche, eine Liste der Enumerationen, die bekomme ich auch eine Ausgabe auf der Konsole sieht wie folgt aus:

Namespace.Subspace.event+EVENT_TYPE

Ich würde gerne in der Lage sein, um alle zu sehen die inneren Werte des enum-statt nur seinen Namen. Zum Beispiel die enum -

public enum EVENT_TYPE
{
    EVENTDOWN,
    EVENTMOVE,
    EVENTUP,
}

ausgeben sollte so etwas wie dieses

Namespace.Subspace.class+EVENT_TYPE EVENTDOWN
Namespace.Subspace.class+EVENT_TYPE EVENTMOVE
Namespace.Subspace.class+EVENT_TYPE EVENTUP

Jede Hilfe, die jedermann bieten würde sehr geschätzt werden. Ich habe erschöpft alles, was ich habe finden können, die bisher aber eine frische Perspektive wäre schön.

Dank

InformationsquelleAutor RyanMullins | 2011-02-15
Schreibe einen Kommentar