Es wird ja schon beim Übergeben an die Funktion ausgewertet, da kracht es schon
Achja logisch. Zu viel C programmiert in letzter Zeit
Könnte man sich höchstens mit anonymen Methoden noch was zusammenbasteln:
Delphi-Quellcode:
class function TTernaryOp.Execute<T>(Condition: Boolean; const ATrue, AFalse: TFunc<T>): T;
begin
if Condition then
begin
Result := ATrue;
end else
begin
Result := AFalse;
end;
end;
oder falls ausreichend auch:
class function TTernaryOp.Execute<T>(Condition: Boolean; const ATrue: TFunc<T>; const AFalse: T): T;
Ist natürlich alles nicht wirklich schön.
Edit: Roter Kasten?