有没有一种方法可以将Delphi中的嵌套枚举放入自己的命名空间中?Delphi中嵌套枚举的名称空间
此代码生成一个E2004:标识符重新声明,因为两个枚举都包含“未知”。
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;
在C++中的枚举元素的标识符均在目前存在的范围(TMyType1 ::未知和TMyType2 ::未知)。
除了预先或后缀标识符(MyType1EnumUnknown,MyType1EnumVal1,...,MyType2Enumunknown,...),是否有可能在Delphi中实现这样的功能?
下面的答案是完美的,但是从一个编码标准点,前缀在Delphi中通常用于枚举。作为一个例子,请看'TFontStyle'。它的定义如下所示:'TFontStyle =(fsBold,fsItalic,fsUnderline,fsStrikeOut)' – Graymatter