Wieso führst Du überhaupt einen Enum ein? Schreib doch einfach die paar Methoden separat? Oder mach es mit einzelnen Klassen. Dann verzichtest Du auf dein 'case'-Statement, was in einer sauberen Methode ohnehin nichts zu suchen hat (sagen die Puristen).
Hättest du das nicht geschrieben, hätte ich es jetzt getan
Guckstu
das
Den Enum wollte ich einführen, da ich die Logische Operation Dynamisch ermitteln wollte.
Delphi-Quellcode:
Procedure Irgendetwas;
var
lOperator:TLogicalOperator;
lMeinArray:TDoubleDynArray;
begin
lOperator:=GibMirDenOperator;
FuelleMeinArray(lMeinArray);
MeineFunktion(lOperator,lMeinArray);
lOperator:=GibMirEinenAnderenOperator;
FuelleMeinArrayMitAnderenWerten(lMeinArray);
MeineFunktion(lOperator,lMeinArray);
end;
Würde ich den Operator nicht in "MeineFunktion" verwenden, würde es ja so aussehen:
Delphi-Quellcode:
Procedure Irgendetwas;
var
lOperator:TLogicalOperator;
lMeinArray:TDoubleDynArray;
begin
lOperator:=GibMirDenOperator;
FuelleMeinArray(lMeinArray);
case loperator of
loAnd:MeineFunktionAnd(lMeinArray);
loOr:MeineFunktionOr(lMeinArray);
end;
lOperator:=GibMirEinenAnderenOperator;
FuelleMeinArrayMitAnderenWerten(lMeinArray);
case loperator of
loAnd:MeineFunktionAnd(lMeinArray);
loOr:MeineFunktionOr(lMeinArray);
end;
end;