Alle Werte einer Enumeration auflisten
-
Guten Tag,
ist es möglich in C++/CLR alle Werte einer Enumeration zu ermitteln? In C# funktioniert dies mit Enum.GetValues(typ). Ich habe etwas gegoogelt und gelesen, dass man auch die Methode Enum::GetValues(typeid) verwenden kann. Komischerweise erhalte ich dadurch aber ein Objekt von Typ Array^ das leer ist.
Meine Enumeration sieht so aus:
enum ETileType { Floor = 0xFFFFFFFF, Wall = 0xFF000000, Start = 0xFF0000FF, Finish = 0xFFFF0000 };
Mein Aufruf sieht so aus:
Array^ arr = Enum::GetValues(ETileType::typeid); for(int i = 0; i < arr->Length; i++) { //... }
Die Schleife wird kein einziges Mal durchlaufen. Desweiteren wüsste ich auch nicht wie ich aus diesem Array meinen Enumerations-Elemente ermitteln soll.
Kann mir bitte jemand helfen?
Danke.
-
Ich vermute, dass du
enum class
anstelle vonenum
verwenden musst.
-
Stimmt! Es jetzt funktioniert es.
Vielen Dank.