Schon alleine durch Generics kann man vieles mit viel weniger Quelltext und zudem typsicher umsetzen.
Kannst Du mir da ein kleines Praxisbeispiel geben? Was genau wird da quasi ausgetauscht bzw. zu weniger gemacht?
Ich habe gerade dort ein Beispiel gepostet, das Generics für die Fensterliste nutzt:
http://www.delphipraxis.net/167037-d...ml#post1155918
Dort gibt es eine Liste aus einem Record (der ist dort nicht wirklich nötig, ich habe den für diesen Thread dort benutzt). Das heißt du hast eine Liste mit bestimmtem Inhalt und musst nicht auf einen bestimmten Typ casten.
Anderes kleines Beispiel:
Delphi-Quellcode:
TMathGenerics = class
public
class procedure Exchange<T>(var Value1, Value2: T);
end;
class procedure TMathGenerics.Exchange<T>(var Value1, Value2: T);
var
Temp: T;
begin
Temp := Value1;
Value1 := Value2;
Value2 := Temp;
end;
Jetzt kannst du das benutzen um z.B. den Inhalt zweier Integervariablen auszutauschen:
Delphi-Quellcode:
var
a, b: Integer;
begin
...
TMathGenerics.Exchange<Integer>(a, b);
Es gibt da noch ganz andere Beispiele, aber die kann ich hier nicht posten, da sie im Rahmen meiner beruflichen Tätigkeit entstanden sind. Auf jeden Fall hat das viele unserer (älteren
) Quelltexte deutlich verkürzt und gleichzeitig viel einfacher gemacht.