我经常需要向某些第三方枚举类型添加“默认值”,例如:
TThirdPartyEnum = (
eA,
eB,
eC
);
我想这样定义枚举类型:
TMyEnum = (
eA,
eB,
eC,
eDefault
);
我想参考TThirdPartyEnum
值以避免保持TMyEnum
(每次TThirdPartyEnum
值更改时都应更新)。
我尝试如下失败:
TMyEnum = eA..High(TThirdPartyEnum) + eDefault;
TMyEnum = (
eA..High(TThirdPartyEnum),
eDefault
);
编译器是否可以理解语法?
您不能扩展枚举类型。
您可能需要通过另一种方法来解决问题,可能是声明一个新的枚举类型并编写帮助程序方法以在它们之间进行映射。您可以使用记录助手的隐式强制转换运算符来提高代码的可读性,但这可能比任务证明的要复杂。