Generics, en kraftfuld tilføjelse til Delphi, blev introduceret i Delphi 2009 som en ny sprogfunktion. Generics eller generiske typer (også kendt som parametriserede typer), giver dig mulighed for at definere klasser, der ikke specifikt definerer typen af bestemte datamedlemmer.
I stedet for at bruge TObjectList-typen til at have en liste over objekttyper fra Delphi 2009, Generics. Samlingsenheden definerer en mere typisk TObjectList.
Generik kaldes undertiden generiske parametre, et navn, der gør det muligt at introducere dem noget bedre. I modsætning til en funktionsparameter (argument), der har en værdi, er en generisk parameter en type. Og det parametriserer en klasse, en grænseflade, en post eller, sjældnere, en metode... Med som bonus anonyme rutiner og rutinehenvisninger
Delphi tList, tStringList, tObjectlist eller tCollection kan bruges til at bygge specialiserede containere, men kræver typecasting. Med Generics undgås støbning, og kompilatoren kan se typefejl hurtigere.
Når du har skrevet en klasse ved hjælp af parametre for generisk type (generiske), kan du bruge denne klasse til enhver type og type du vælger at bruge med en given brug af den klasse erstatter de generiske typer, du brugte, da du oprettede klasse.
De fleste af de eksempler, jeg har set på Generics i Delphi, bruger klasser, der indeholder en generisk type. Mens jeg arbejdede på et personligt projekt, besluttede jeg dog, at jeg ville have en grænseflade, der indeholdt en generisk type.