Partager via


Erreur du compilateur CS1950

Mise à jour : novembre 2007

Message d'erreur

La méthode Add surchargée 'nom' correspondant le mieux à l'initialiseur de collection a des arguments non valides.
The best overloaded Add method 'name' for the collection initializer has some invalid arguments.

Pour prendre en charge des initialiseurs de collection, une classe doit implémenter IEnumerable et disposer d'une méthode Add publique. Pour initialiser le type à l'aide d'un initialiseur de collection, le paramètre d'entrée de la méthode Add doit être compatible avec le type de l'objet que vous essayez d'ajouter.

Pour corriger cette erreur

  • Utilisez un type compatible dans l'initialiseur de collection.

  • Modifiez le paramètre d'entrée et/ou l'accessibilité de la méthode Add dans le type collection.

  • Ajoutez une nouvelle méthode Add avec un paramètre d'entrée qui correspond aux types passés.

  • Concevez votre classe de collection comme une classe générique afin qu'elle dispose d'une méthode Add qui accepte tous les types passés.

Exemple

L'exemple suivant génère CS1950 :

// cs1950.cs
using System.Collections;
class TestClass : CollectionBase
{
    public void Add(int c)
    {
    }
}

class Test
{
    static void Main()
    {
        TestClass t = new TestClass { "hi" }; // CS1950
    }
}

Voir aussi

Référence

Initialiseurs d'objets et de collection (Guide de programmation C#)