Einzelnen Beitrag anzeigen

Scurra

Registriert seit: 19. Jan 2015
81 Beiträge
 
Delphi 10.3 Rio
 
#1

Generische Klassenreferenztypen

  Alt 31. Mai 2018, 12:32
Delphi-Version: 10 Seattle
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?
  Mit Zitat antworten Zitat