Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

[RTTI] Unterstützung von Attributen für Enumeration-Werte

  Alt 29. Mär 2012, 21:48
Delphi-Version: XE2
Guten Abend,

habe heute in VB.Net eine Klasse geschrieben, die mir einen Enum-Wert in einen String umwandelt und dabei prüft, ob der Enum-Wert ein String-Repräsentatins-Attribut hat. In so fern dieses Attribut vorhanden ist, so wird die angegebene String-Representation des Enum-Wertes ausgegeben, sonst direkt EnumValue.ToString() aufgerufen. Folgendes soll zeigen, was ich mein:
Delphi-Quellcode:
MyEnum = (
  [StringRepresentation('Test')]
  meOne,
  [StringRepresentation('Welcome!')]
  meTwo,
  meThree
);

Writeln( EnumToString<MyEnum>(meOne) ); // Liefert: Test
Writeln( EnumToString<MyEnum>(meTwo) ); // Liefert: Welcome!
Writeln( EnumToString<MyEnum>(meThree) ); // Liefert: meThree
Hey, jetzt dachte ich mir, ich code das mal in Delphi nach, da das sicherlich praktisch ist, aber Fehlanzeige. Habe bisher leider keine Möglichkeit gefunden dies umzusetzen. Stattdessen habe ich ein paar Threads in der Form von dem hier gefunden. Nun ists aber so, dass in der Zwischenzeit Delphi XE und XE2 raus gekommen sind und dieses Feature evtl. nachgeliefert wurde. Wollte daher mal nachfragen, ob dahingehend jemand weiß, ob ja oder nein?!

PS: Nein, ich bin definitiv nicht auf der Suche nach einer alternativen Lösung!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat