Compilerfehler CS1950
Aktualisiert: November 2007
Fehlermeldung
Die optimale überladene Add-Methode 'Name' für den Auflistungsinitialisierer weist einige ungültige Argumente auf.
The best overloaded Add method 'name' for the collection initializer has some invalid arguments.
Zur Unterstützung von Auflistungsinitialisierern muss eine Klasse IEnumerable implementieren und über eine öffentliche Add-Methode verfügen. Um den Typ mithilfe eines Auflistungsinitialisierers zu initialisieren, muss der Eingabeparameter der Add-Methode mit dem Typ des Objekts kompatibel sein, das Sie hinzufügen möchten.
So beheben Sie diesen Fehler
Verwenden Sie im Auflistungsinitialisierer einen kompatiblen Typ.
Ändern Sie den Eingabeparameter und/oder den Zugriff der Add-Methode im Auflistungstyp.
Fügen Sie eine neue Add-Methode mit einem Eingabeparameter hinzu, der den übergebenen Daten entspricht.
Deklarieren Sie die Auflistungsklasse als generische Klasse, sodass sie über eine Add-Methode verfügen kann, die alle übergebenen Typen akzeptiert.
Beispiel
Durch das folgende Beispiel wird der Fehler CS1950 ausgelöst:
// cs1950.cs
using System.Collections;
class TestClass : CollectionBase
{
public void Add(int c)
{
}
}
class Test
{
static void Main()
{
TestClass t = new TestClass { "hi" }; // CS1950
}
}
Siehe auch
Referenz
Objekt- und Auflistungsinitialisierer (C#-Programmierhandbuch)