Поделиться через


Параметры универсального типа (руководство по программированию на C#)

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

GenericList<float> list1 = new GenericList<float>();
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();

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

Соглашения об именовании для параметров универсального типа можно узнать в статье о соглашениях об именовании.

См. также