Compilerfehler CS1921

Die beste Übereinstimmung für die überladene „Methode“-Methode hat eine falsche Signatur für das Initialisiererelement. Die initialisierbare „Add“-Methode muss eine zugängliche Instanzmethode sein.

Dieser Fehler wird erzeugt, wenn Sie versuchen, einen Auflistungsinitialisierer mit einer Klasse zu verwenden, die über eine nichtöffentliche, nichtstatische Add-Methode verfügt. Wenn auf die Add-Methode aufgrund ihrer Schutzebene (private, protected, internal) nicht zugegriffen werden kann, wird CS0122 ausgegeben. Diese Fehlermeldung bedeutet wahrscheinlich, dass die Methode als static definiert ist.

Beispiel

Im folgenden Beispiel wird CS1921 generiert:

// 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

Objekt- und Auflistungsinitialisierer