Delphi可以具有枚举类型e.g.:

type
   TDay = (Mon, Tue, Wed, Thu, Fri, Sat, Sun);   // Enumeration values

是否可以合并枚举类型:
type
   TWeekDay    = (Mon, Tue, Wed, Thu, Fri);
   TWeekendDay = (Sat, Sun);
   TDay        = (TWeekday, TWeekendDay);    //hypothetical syntax

实际上,我需要在不破坏源代码兼容性的情况下将一个大列表分解成它们实际上是不相交的项:
type
   TWeekDay =    (Mon, Tue, Wed, Thu, Fri);
   TWeekendDay = (Sat, Sun);
   TDay =        (Mon, Tue, Wed, Thu, Fri, Sat, Sun); //identifier redeclared syntax error

然后更改一些变量:
  • Day: TWeekday; TDay;
  • Day: TWeekendDay; TDay

  • 在道德上相当于strict typing.

    最佳答案

    答案是不”。

    但是,如果子区域是连续的,您可以使用的解决方法是使用子区域:

    TDay = (Mon, Tue, Wed, Thu, Fri, Sat, Sun);
    
    TWeekDay2 = Mon..Fri;
    TWeekday = type TWeekDay2;
    
    TWeekendDay2 = Sat..Sun;
    TWeekendDay = type TWeekendDay;
    

    关于delphi - 在Delphi中是否可以将枚举合并为更大的枚举?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59569919/

    10-10 09:07