![]() |
Re: Von TObjectList<T> erben?
Zitat:
|
Re: Von TObjectList<T> erben?
Zitat:
Delphi-Quellcode:
Bei Typen funktioniert es gleichermaßen:
procedure Überladen; overload; // "Überladen()"
procedure Überladen(const Wert: Integer); overload; // "Überladen(Integer)"
Delphi-Quellcode:
Gerade das macht es so einfach, und man muss sich nicht so viele Bezeichner merken.
TObjectList = class { ... } end; // "TObjectList()"
TObjectList<T> = class { ... } end; // "TObjectList(Typ)" |
Re: Von TObjectList<T> erben?
Zitat:
/add: Und Panthrax muss ich auch recht geben, ist imo eher eine Vereinfachung als potentielle Verwirrung. Zitat:
Delphi-Quellcode:
Solange wir aber nicht über TList<TDictionary<... reden, ist das aber ebenfalls unüblich, man sollte im Code einfach direkt TObjectList<TNonFood> verwenden.
type TNonFoodList = TObjectList<TNonFood>;
Zitat:
Zitat:
|
Re: Von TObjectList<T> erben?
Also unter FPC werden Generics so spezialisiert:
Delphi-Quellcode:
Es wundert mich wirklich, dass das unter Delphi vollkommen anders aussieht.
type
TNonFoodList = specialize TList<TNonFood>; |
Re: Von TObjectList<T> erben?
Zitat:
in C ist es auch nicht nötig: ![]() |
Re: Von TObjectList<T> erben?
Zitat:
|
Re: Von TObjectList<T> erben?
Hab grad mal auf FreePascal.org nachgeschlagen - die Syntax hat sich mal wieder geändert.
Jetzt geht's angeblich auch so: (noch nicht getestet)
Delphi-Quellcode:
Und so 'nen PublicJoke-Proposal mit generischen Units gibt's auch noch. :shock:
// tom proposal:
type TNonFoodList = TObjectList<TNonFood>; // dannym proposal type TNonFoodList = TObjectList of TNonFood; // plugwash: type TNonFoodList = TObjectList[TNonFood]; Da steigt doch kein Mensch mehr durch... [ADD] Die ham sogar generische Routinen eingeführt - sowas hab ich noch nie gesehen |
Re: Von TObjectList<T> erben?
Zitat:
![]() |
Re: Von TObjectList<T> erben?
Zitat:
Zitat:
Delphi-Quellcode:
class procedure Generics.Collections.TArray.Sort<T>(...);
|
Re: Von TObjectList<T> erben?
Ne, so:
Delphi-Quellcode:
Ziemlich am Ende der Wiki-Seite steht aber was davon, es würde bisher nur eine Notlösung für Generics laufen. Also wer weiß, ob das wirklich schon alles klappt...
function generic(T) Max(A, B: T): T;
begin if A < B then Result := B else Result := A; end; [ADD] Grad getestet, läuft noch nicht. Sind alles nur Zukunftspläne, die da auf der Wikiseite stehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 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 by Thomas Breitkreuz