Gibt es eine Möglichkeit, verschachtelte Aufzählungen in Delphi in einen eigenen Namensraum einzufügen?eigener Namespace für verschachtelte Aufzählungen in Delphi
Dieser Code erzeugt ein E2004: Identifier neu deklariert, da beide Aufzählungen "unbekannt" enthalten.
TMyType1 = class
public type
TMyType1Enum = (unknown, val1, val2);
public
constructor Create();
...
end;
TMyType2 = class
public type
TMyType2Enum = (unknown, other1, other2, other3); // causes E2004
public
constructor Create();
...
end;
In C++ die Kennungen der Aufzählungselemente waren beide in untersch Bereiche (TMyType1 :: unbekannt und TMyType2 :: unbekannt).
Gibt es eine Möglichkeit, in Delphi so etwas zu erreichen, außer dass die Bezeichner (MyType1EnumUnknown, MyType1EnumVal1, ..., MyType2Enumunknown, ...) vor oder nachgestellt werden?
Die Antwort unten perfekt ist, aber von einem Codierungsstandards Sicht sind Präfixe normalerweise in Delphi verwendet für Aufzählungen. Schauen Sie sich zum Beispiel 'TFontStyle' an. Die Definition sieht so aus: 'TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut)' – Graymatter