Re: Generische Ableitung TList<>
Zitat:
|
Re: Generische Ableitung TList<>
Default ist halt die allgemeine Lösung, die Du auch dann nutzen kannst, wenn keine Constriants da sind und es sich bei dem Datentyp um eine Klasse, einen String oder einen Integer handeln könnte.
|
AW: Re: Generische Ableitung TList<>
Da FindByID sowieso zur Klasse TMyBase gehört und FindByID ausschließlich eine Lösung für TMyBase darstellt und Generics an der Stelle nicht mehr benötigt werden, finde ich den Weg unnötig kompliziert.
So fände ich es "logischer"
Delphi-Quellcode:
type
TMyListSpecific = TList<TMyBase>; TMyList = class(TMyListSpecific) public constructor create; destructor destroy; override; function FindByID(ID : string) : TMyBase; end; function TMyList.FindByID(ID: string): TMyBase; var c: integer; begin result := nil; for c := 0 to Count - 1 do if Items[c].ID = ID then result := Items[c]; end; |
AW: Generische Ableitung TList<>
Ein break oder exit bei Fund würde die Sache ggf. noch beschleunigen, falls das nach 6 Jahren überhaupt noch interessiert.
|
AW: Generische Ableitung TList<>
Es ging mir nur um die Vollständigkeit, dass solche Quelltextbeispiele nicht im Raum stehen gelassen werden ;-)
Meiner Meinung nach schoss die ursprüngliche Lösung am Ziel vorbei. |
AW: Generische Ableitung TList<>
Joar, falls mal jemand auf die irrwitzige Idee kommt und die SuFu benutzt. :stupid:
Alternative Lösung: Eine andere Art von Liste verwenden. TListObject<T> = Warum wurde hier TList<> verwendet, wo darin doch Objekte abgelegt werden? Und wer kümmert sich eigentlich um deren Freigabe? TCollection<T> = Gibt es leider nicht, aber als TCollection würde die Liste sich nicht nur um die Speicherreservierung/Objekterstellung kümmern und nicht nur um die Freigabe, also die komplette Verwaltung. TDictionary<TKey,TValue> / TObjectDictionary<TKey,TValue> = Da man hier ja vorallem eine Fuchfunktion haben will ... Wie wäre es dann damit? :angel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz