Notfalls ginge es wohl auch so, ich glaube das wäre sogar deutlich besser ohne Interface-Vererbung.
Delphi-Quellcode:
type
IMyInterface<T> = interface
['{521683FE-4DF8-43E5-8575-420FA539CA0A}']
function getNumber(): T;
end;
TMyObject = class(
TInterfacedObject,
IMyInterface<Integer>,
IMyInterface<Single>
)
function IMyInterface<Integer>.getNumber = IMyInterface_Integer_getNumber;
function IMyInterface_Integer_getNumber(): Integer; virtual; abstract;
function IMyInterface<Single>.getNumber = IMyInterface_Single_getNumber;
function IMyInterface_Single_getNumber(): Single; virtual; abstract;
end;