Nja wenn es ginge, dann höchstens so
Delphi-Quellcode:
TSimpleIntfList<T> = class(TList<T>)
public
function ItemByID(AiID: Integer): T;
end;
oder
Delphi-Quellcode:
TSimpleIntfList<T> = class(TList<ISimpleInterface>)
public
function ItemByID(AiID: Integer): T;
end;
hier im ItemByID dann ein cast von ISimpleInterface zu T (IModule) , weil die Liste natürlich ISimpleInterface speichert, aber auch den Nachfahren aufnehmen kann.