Hallo zusammen,
ist es möglich, generische Klassenreferenztypen zu deklarieren? Ich bräuchte so etwas, weil der Konstruktor meiner generischen Klasse ebenfalls generisch ist (siehe Beispiel unten). Da sich die Konstruktorparameter von TBaseClass und TMyObject unterscheiden, kann ich nicht die Klassenreferenz von TBaseClass verwenden.
Delphi-Quellcode:
TBaseClass = class
public
constructor Create(AOwner: TComponent);
end;
TMyObject<I: IMyInterface> = class(TBaseClass)
public
constructor Create(const Intf: I); reintroduce;
end;
TMyObjectClass<I> = class of TMyObject<I: IMyInterface>;
[...]
var
myObj: TMyObject<IMySubInterface>;
...
myObj := TMyObjectClass<IMySubInterface>.Create(TMySubInterfaceImpl.Create);
Ich hoffe, dass aus dem Codeausschnitt ersichtlich wird, was ich machen möchte. Gibt es evtl. eine einfachere Möglichkeit, das umzusetzen?