Sdílet prostřednictvím


Compilerfehler CS1921

Aktualisiert: November 2007

Fehlermeldung

Die beste Übereinstimmung für die überladene "Methode"-Methode hat eine falsche Signatur für das Initialisiererelement. Das initialisierbare "Add" muss eine Instanzenmethode sein, auf die zugegriffen werden kann.
The best overloaded method match for 'method' has wrong signature for the initializer element. The initializable Add must be an accessible instance method.

Dieser Fehler wird ausgelöst, wenn Sie versuchen, einen Auflistungsinitialisierer mit einer Klasse ohne öffentliche nicht statische Add-Methode zu verwenden. Falls auf die Add-Methode aufgrund ihrer Sicherheitsstufe (private, protected, internal) nicht zugegriffen werden kann, wird der Fehler CS0122 ausgegeben, was bedeutet, dass die Methode wahrscheinlich als static definiert wurde.

Beispiel

Durch das folgende Codebeispiel wird der Fehler CS1921 ausgelöst:

// cs1921.cs
using System.Collections;
public class C : CollectionBase
{
    public static void Add(int i)
    {
    }
}
public class Test
{
    public static void Main()
    {
        var collection = new C { 1, 2, 3 }; // CS1921
    }
}

Siehe auch

Referenz

Objekt- und Auflistungsinitialisierer (C#-Programmierhandbuch)