Обобщения, мощное дополнение к Delphi, были представлены в Delphi 2009 как новая языковая функция. Дженерики или общие типы (также известный как параметризованные типы), позволяют вам определять классы, которые конкретно не определяют тип определенных членов данных.
Например, вместо использования типа TObjectList для получения списка любых типов объектов, из Delphi 2009, Обобщения. Модуль Collections определяет более строго типизированный TObjectList.
Обобщения называют иногда общими параметрами, имя, которое позволяет представить их несколько лучше. В отличие от параметра функции (аргумента), который имеет значение, универсальный параметр является типом. И он параметризует класс, интерфейс, запись или, реже, метод... В качестве бонуса, анонимные процедуры и рутинные ссылки
Delphi tList, tStringList, tObjectlist или tCollection могут использоваться для создания специализированных контейнеров, но требуют преобразования типов. При использовании Generics исключается приведение, и компилятор может обнаружить ошибки типа раньше.
После того, как вы написали класс с использованием параметров универсального типа (generics), вы можете использовать этот класс с любым типом и тип, который вы выбираете для использования с любым конкретным использованием этого класса, заменяет универсальные типы, которые вы использовали при создании учебный класс.
Большинство примеров Generics в Delphi, которые я видел, используют классы, содержащие универсальный тип. Однако, работая над личным проектом, я решил, что хочу интерфейс, содержащий универсальный тип.