在泛型类型或方法定义中,类型参数是客户端在创建泛型类型的实例时指定的特定类型的占位符。 泛型类(如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 如何执行此替换的详细信息,请参阅 运行时中的泛型。
可以在有关命名约定的文章中了解泛型类型参数的 命名约定。