Statt der Funktion hatte ich mir, die ein/zwei Mal, wo ich sowas brauchte, eine Konstante direkt bei dem Typen deklariert.
Ist bei Änderungen auffälliger, als die Funktion außerhalb des Blickfeldes.
Delphi-Quellcode:
type
TMyEnum = (a, b, c, z=25);
const
cMyEnumRange = [a, b, c, z];
//cMyEnumRange: set of TMyEnum = [a, b, c, z];
var
e: TMyEnum;
s:
set of TMyEnum;
if not (e
in cMyEnumRange)
then
raise Exception.Create('
nö');
if s - cMyEnumRange <> []
then
raise Exception.Create('
nö');