Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I en allmän typ- eller metoddefinition är en typparameter en platshållare för en viss typ som en klient anger när de skapar en instans av den generiska typen. En generisk klass, till exempel GenericList<T> i Introduktion till generiska objekt, kan inte användas as-is eftersom den egentligen inte är en typ. Den är mer som en skiss för en typ. Om du vill använda GenericList<T>måste klientkoden deklarera och instansiera en konstruerad typ genom att ange ett typargument inom vinkelparenteserna. Typargumentet för den här klassen kan vara vilken typ som helst som identifieras av kompilatorn. Valfritt antal konstruerade typinstanser kan skapas, var och en med ett annat typargument, enligt följande:
GenericList<float> list1 = new GenericList<float>();
GenericList<ExampleClass> list2 = new GenericList<ExampleClass>();
GenericList<ExampleStruct> list3 = new GenericList<ExampleStruct>();
I var och en av dessa instanser av GenericList<T> ersätts varje förekomst av T i klassen vid körningstid med typargumentet. Med den här ersättningen har vi skapat tre separata typsäkra och effektiva objekt med hjälp av en enskild klassdefinition. Mer information om hur den här ersättningen utförs av CLR finns i Generics i Runtime.
Du kan lära dig namngivningskonventionerna för generiska typparametrar i artikeln om namngivningskonventioner.