如何扩展枚举类型?

我经常需要向某些第三方枚举类型添加“默认值”,例如:

  TThirdPartyEnum = (
    eA,eB,eC
  );

我想定义一个这样的枚举类型:

TMyEnum = (
  eA,eC,eDefault
);

我想引用TThirdPartyEnum的值以避免维护TMyEnum(每次TThirdPartyEnum值更改时都应更新)。

我尝试了如下失败:

  TMyEnum = Low(TThirdPartyEnum)..High(TThirdPartyEnum) + eDefault;

  TMyEnum = (
    Low(TThirdPartyEnum)..High(TThirdPartyEnum),eDefault
  );

编译器是否可以理解语法?

yjy611 回答:如何扩展枚举类型?

您不能扩展枚举类型。

您可能需要一种不同的方法来解决您的问题,方法可能是声明一个新的枚举类型并编写帮助程序方法以在它们之间进行映射。您可以使用记录助手的隐式强制转换运算符来提高代码的可读性,但这可能比任务证明的要复杂。

本文链接:https://www.f2er.com/2934911.html

大家都在问