OK, dann
IN ist nur für das Prüfen eines Elementes in einer Mengenvariable
und nicht in einem Mengentypen.
Man könnte Embarcadero im QS mal fragen, ob die das nicht implementieren könnten
oder man geht eben doch über die Konstanten.
Delphi-Quellcode:
type
TAll = (a1, a2, a3, b1, b2, b3);
TTeilmengeA = a1..a3;
TTeilmengeB = b1..b3;
const
//cTeilmengeA = [a1..a3];
//cTeilmengeB = [b1..b3];
cTeilmengeA = [Low(TTeilmengeA)..High(TTeilmengeA)];
cTeilmengeB = [Low(TTeilmengeB)..High(TTeilmengeB)];
Man könnte sich auch sowas basteln
Delphi-Quellcode:
type
MyHelper = class abstract
class function IsInType<TEnum{: ENUM}>(const Value: TEnum): Boolean;
end;
Schade daß es die Einschränkung enum/ordinal nicht gibt, dann wäre der Code darin voll einfach, ohne über die
RTTI und einige Casts gehn zu müssen.