![]() |
AW: Generics: Instanz-Erzeugung in generischer Klasse
Zitat:
|
AW: Generics: Instanz-Erzeugung in generischer Klasse
Delphi-Quellcode:
Ich habe hier ein Verständnisproblem.
FLink := T(TComponentClass(T).Create(nil));
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? Im Übrigen gibt es genau dieses Problem in C# auch. Ich habe leider keine bessere Lösung als Delegates der Form:
Code:
gefunden.
{ return new myType(...); }
|
AW: Generics: Instanz-Erzeugung in generischer Klasse
Result := T(T.NewInstance);
Result.Create('Hello World'); |
AW: Generics: Instanz-Erzeugung in generischer Klasse
Zitat:
Zitat:
Zitat:
|
AW: Generics: Instanz-Erzeugung in generischer Klasse
Zitat:
Danke für den Hinweis. Und - soweit ich weiß - erlaubt keine .NET-Sprache (allen voran C# und VB) parameter-behaftete generische Objekterzeugung. So sehr ich sie mir Wünsche und bräuchte :cry: |
AW: Generics: Instanz-Erzeugung in generischer Klasse
Zitat:
Auszug aus der Classes.pas: Result := TComponent(ComponentClass.NewInstance); [...snip...] Result.Create(Owner); Möglich, dass es ein Problem gibt wenn NewInstance überschrieben worden ist. Das wäre ggf. noch zu klären. In der Praxis ist mir das aber noch so gut wie nie untergekommen, selber hatte ich in mehr als 10 Jahren nicht ein einziges mal einen Grund dazu. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz