Generics, een krachtige toevoeging aan Delphi, werden in Delphi 2009 geïntroduceerd als een nieuwe taalfunctie. Merkloos product of generieke typen (ook bekend als geparametriseerde typen), kunt u klassen definiëren die niet specifiek het type van bepaalde gegevensleden definiëren.
Als voorbeeld, in plaats van het TObjectList-type te gebruiken om een lijst met alle objecttypen te hebben, vanaf Delphi 2009, de Merkloos product. Collectieseenheid definieert een sterker getypte TObjectList.
Generieke geneesmiddelen worden ook wel generieke parameters genoemd, een naam waarmee ze iets beter kunnen worden geïntroduceerd. In tegenstelling tot een functieparameter (argument), die een waarde heeft, is een generieke parameter een type. En het parametreert een klasse, een interface, een record of, minder vaak, een methode... Met als bonus anonieme routines en routine-referenties
Delphi tList, tStringList, tObjectlist of tCollection kunnen worden gebruikt om gespecialiseerde containers te bouwen, maar vereisen typecasting. Met Generics wordt casten vermeden en kan de compiler typefouten eerder opsporen.
Nadat u een klasse hebt geschreven met generieke typeparameters (generieke tekens), kunt u die klasse gebruiken met elk type en de type dat u kiest te gebruiken bij een bepaald gebruik van die klasse vervangt de generieke typen die u gebruikte toen u de klasse.
De meeste voorbeelden die ik heb gezien van Generics in Delphi, gebruiken klassen die een generiek type bevatten. Tijdens een persoonlijk project besloot ik echter dat ik een interface wilde met een generiek type.