C# Language Paramètres de type explicites


Exemple

Il existe différents cas où vous devez spécifier explicitement les paramètres de type pour une méthode générique. Dans les deux cas ci-dessous, le compilateur ne peut pas déduire tous les paramètres de type des paramètres de méthode spécifiés.

Un cas est quand il n'y a pas de paramètres:

public void SomeMethod<T, V>() 
{
   // No code for simplicity
}

SomeMethod(); // doesn't compile
SomeMethod<int, bool>(); // compiles

Le deuxième cas est celui où un (ou plusieurs) des paramètres de type ne fait pas partie des paramètres de la méthode:

public K SomeMethod<K, V>(V input)
{
    return default(K);
}

int num1 = SomeMethod(3); // doesn't compile
int num2 = SomeMethod<int>("3"); // doesn't compile
int num3 = SomeMethod<int, string>("3"); // compiles.