logo
CSharp_Prog_Guide

Параметры универсального типа

В определении универсального типа или метода параметры типа представляют собой заполнитель для определенного типа, задаваемого клиентом при создании переменной универсального типа. Универсальный класс, такой как GenericList<T>, нельзя использовать "как есть", поскольку он является не типом а, скорее, чертежом типа. Для работы с GenericList<T> в клиентском коде необходимо объявить и создать конструируемый тип, указав в угловых скобках аргумент типа. Аргумент-тип для этого конкретного класса может быть любым типом, распознаваемым компилятором. Можно создать любое количество экземпляров конструируемых типов, и каждый из них может использовать разные аргументы типа, как показано далее.

--

В каждом экземпляре GenericList<T> каждое вхождение T в классе будет заменено во время выполнения аргументом типа. С помощью данной замены было создано три отдельных строго типизированных и эффективных объекта, использующих определение класса.