AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Generische Ableitung TList<>

Ein Thema von Christoph Schneider · begonnen am 7. Okt 2008 · letzter Beitrag vom 19. Nov 2014
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von sniper_w
sniper_w

Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#11

Re: Generische Ableitung TList<>

  Alt 9. Okt 2008, 09:18
Zitat:
Es ist schon ein wenig schade, dass Delphi mit dem Wissen, dass T eine Klasse sein muss, nicht erschliessen kann, dass nil und default(T) das selbe meinen müssen
Hoffen wir, dass das eine Absicht ist, die eine gute Erklärung für sich hat
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Generische Ableitung TList<>

  Alt 9. Okt 2008, 09:32
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#13

AW: Re: Generische Ableitung TList<>

  Alt 19. Nov 2014, 09:08
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;
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#14

AW: Generische Ableitung TList<>

  Alt 19. Nov 2014, 09:20
Ein break oder exit bei Fund würde die Sache ggf. noch beschleunigen, falls das nach 6 Jahren überhaupt noch interessiert.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#15

AW: Generische Ableitung TList<>

  Alt 19. Nov 2014, 09:41
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.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

AW: Generische Ableitung TList<>

  Alt 19. Nov 2014, 10:06
Joar, falls mal jemand auf die irrwitzige Idee kommt und die SuFu benutzt.

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?
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 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