Parametry obecného typu (Průvodce programováním v C#)
V definici obecného typu nebo metody je parametr typu zástupný symbol pro konkrétní typ, který klient určí při vytváření instance obecného typu. Obecnou třídu, například GenericList<T>
uvedenou v úvodu do obecných typů, nelze použít tak, jak je, protože ve skutečnosti není typem; je spíše jako podrobný plán pro typ. Chcete-li použít GenericList<T>
, klientský kód musí deklarovat a vytvořit instanci vytvořeného typu zadáním argumentu typu uvnitř úhlových závorek. Argument typu pro tuto konkrétní třídu může být libovolný typ rozpoznaný kompilátorem. Lze vytvořit libovolný počet vytvořených instancí typu, z nichž každý používá jiný argument typu:
GenericList<float> list1 = new GenericList<float>();
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();
V každé z těchto instancí je GenericList<T>
každý výskyt T
třídy nahrazen za běhu argumentem typu. Pomocí této náhrady jsme vytvořili tři samostatné typově bezpečné a efektivní objekty pomocí jedné definice třídy. Další informace o tom, jak se tato náhrada provádí modulem CLR, najdete v tématu Obecné typy v modulu runtime.
Zásady vytváření názvů pro parametry obecného typu najdete v článku o konvencích vytváření názvů.