Partager via


Erreur du compilateur CS1928

Mise à jour : novembre 2007

Message d'erreur

'Type' ne contient pas de définition pour 'méthode' et la meilleure 'méthode' surchargée de méthode d'extension a des arguments non valides.
'Type' does not contain a definition for 'method' and the best extension method overload 'method' has some invalid arguments.

Cette erreur se produit lorsque le compilateur ne peut pas trouver de membre de classe avec le nom de la méthode que vous avez appelée. Il peut rechercher une méthode d'extension avec ce nom, mais pas avec une signature qui correspond aux types que vous avez passés avec votre appel de méthode.

Pour corriger cette erreur

  • Passez les types qui correspondent à une méthode d'extension ou une méthode de classe existante.

Exemple

Le code suivant génère CS1928 :

// cs1928.cs
class Test
{
    static void Main()
    {
        Test t = new Test();
        t.M("hi"); // CS1928
    }
}
static class Ext
{
    public static void M(this Test t, int i)
    {
    }
}

Cette erreur est souvent accompagnée par CS1503 : Argument 'n' : impossible de convertir du 'typeA' au 'typeB'.

Voir aussi

Référence

Méthodes d'extension (Guide de programmation C#)