Man könnte mehrere gleiche, von einem Gemeinsamen abgeleitete, Interfaces erstellen
und jedem Interface je eine Methode der Klasse zuweisen.
https://docwiki.embarcadero.com/RADS...olution_Clause
Dann kann man über die Wahl des Interfaces eine der Methoden (das zugehörige Interface) übergeben.
Wenn das Delphi-Objekte in den Interfaces sind, dann ginge auch noch
Delphi-Quellcode:
Ergebnis := Rechenfunktion(EinString, (EinInterfaceObjekt as TEinObjekt).DieFunktion);
// bzw.
Ergebnis := Rechenfunktion(EinString, @(EinInterfaceObjekt as TEinObjekt).DieFunktion);
Für Interfaces in Delphi wird seit einer Weile ein geheimes Fake-Interface implementiert, worüber man von Interfaces das interne Objekt rausholen kann.