Czy istnieje sposób umieszczenia zagnieżdżonych wyliczeń w Delphi na własną przestrzeń nazw?Własna przestrzeń nazw dla zagnieżdżonych enums w Delphi
Ten kod generuje E2004: Identyfikację redeclared, ponieważ oba wyliczenia zawierają "nieznany".
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;
w C++ identyfikatorów elementów enum były zarówno w differnet zakresów (TMyType1 :: nieznane i TMyType2 :: nieznane).
Czy istnieje możliwość osiągnięcia czegoś podobnego w Delphi z wyjątkiem pre- lub przyrostków identyfikatorów (MyType1EnumUnknown, MyType1EnumVal1, ..., MyType2Enumunknown, ...)?
Poniższa odpowiedź jest doskonały, ale z standardów kodowania punktu widzenia, prefiksy są zwykle wykorzystywane w Delphi za teksty stałe. Spójrz na 'TFontStyle', jako przykład. Jego definicja wygląda następująco: 'TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut)' – Graymatter