Partager via


Erreur du compilateur CS0411

Mise à jour : novembre 2007

Message d'erreur

Les arguments de type pour la méthode 'méthode' ne peuvent pas être déduits à partir de l'utilisation. Essayez de spécifier les arguments de type de façon explicite.
The type arguments for method 'method' cannot be inferred from the usage. Try specifying the type arguments explicitly.

Cette erreur se produit si vous appelez une méthode générique sans fournir explicitement les arguments de type et que le compilateur ne peut pas déduire les arguments de type prévus. Pour éviter cette erreur, ajoutez les arguments de type prévus entre des signes « inférieur à » et « supérieur à ».

Exemple

L'exemple suivant génère l'erreur CS0411 :

// CS0411.cs
class C
{
    void G<T>()
    {
    }

    public static void Main()
    {
        G();  // CS0411
        // Try this instead:
        // G<int>();
    }
}

D'autres cas d'erreur possibles sont notamment lorsque le paramètre est null et ne contient pas d'informations de type :

// CS0411b.cs
class C
{
    public void F<T>(T t) where T : C 
    {
    }

    public static void Main()
    {
        C c = new C();
        c.F(null);  // CS0411
    }
}