Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.007 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#14

AW: Generics: Instanz-Erzeugung in generischer Klasse

  Alt 10. Okt 2011, 15:14
FLink := T(TComponentClass(T).Create(nil)); Ich habe hier ein Verständnisproblem.
Wird hier nicht nur TComponentClass erzeugt?
Wenn T "größer" sein sollte (T abgeleitet von TComponentClass), dann fehlt doch die Hälfte nach der Instanziierung, oder nicht?
Nein, weil TComponent.Create(AOwner: TComponent) virtual ist.

Im Übrigen gibt es genau dieses Problem in C# auch.
Ich habe leider keine bessere Lösung als Delegates der Form:
Code:
{ return new myType(...); }
gefunden.
Glaub ich nicht, das wäre das erste mal, dass Delphi im Bereich Generics einen Schritt weiter als C# ist.

Result := T(T.NewInstance);
Result.Create('Hello World');
Funktioniert in der Tat, fühlt sich aber irgendwie fies an
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat