Thema: enum "Namen" ausgeben
-
Hallo,
ich habe ein enum, bspw.
enum X
{
constant1 = 1,
constant2 = 2,
...
}
Meine Anwendung schreibt ein trace file mit infos. Gibt es eine einfache Möglichkeit die
Namen statt der Werte auszugeben?
Bspw sollte im Trace "constant1" stehen statt "1", wenn ich constant1 in den output stream schreibe. Einen Helper, der intern ein mapping auf strings macht, finde ich nicht gut, weil man ihn jedesmal wieder anpssen muss (class outputEnum { ...if(value==1) return "constant1"; if(value==2) return "constant2),...}
Gruß,
Peter
-
23.11.09 12:44 #2
- Registriert seit
- Jun 2005
- Beiträge
- 6.619
Hi. Nein, gibt es nicht. Nach der Kompilierung sind die ganzen Namen nur noch Schall und Rauch. Du könntest eine Lookuptabelle verwenden, ala
GrußCode cpp:1 2 3 4 5 6 7 8 9 10
#define SYMBOL2NAME(e) { e, # e } struct { X value; const char* name; } tab_x2name[] = { SYMBOL2NAME(constant1), SYMBOL2NAME(constant2), ... };
.:Mitglied des 1. offiziellen Sven Uwe Fan-Clubs:.
Ähnliche Themen
-
ENUM mit SWITCH "Jahreszeiten"
Von Marsik im Forum Java GrundlagenAntworten: 5Letzter Beitrag: 26.01.09, 16:07 -
"static" Schlüsselwort bei einem Enum innerhalb einer Klasse?
Von DarthShader im Forum JavaAntworten: 4Letzter Beitrag: 07.03.08, 12:51 -
Eclipse und "org.apache.axis.enum"
Von exitium im Forum JavaAntworten: 2Letzter Beitrag: 12.09.07, 09:56 -
Anfängerproblem: "enum" und switch
Von Gismo im Forum JavaAntworten: 2Letzter Beitrag: 23.01.05, 14:36 -
Vorsicht beim "Enum-Pattern"!
Von Thomas Darimont im Forum JavaAntworten: 0Letzter Beitrag: 21.12.04, 11:57



Zitieren

Login





Lesezeichen