Compilerfehler CS1921Compiler Error CS1921

Die beste Übereinstimmung für die überladene „Methode“-Methode hat eine falsche Signatur für das Initialisiererelement.The best overloaded method match for 'method' has wrong signature for the initializer element. Die initialisierbare „Add“-Methode muss eine zugängliche Instanzmethode sein.The initializable Add must be an accessible instance method.

Dieser Fehler wird erzeugt, wenn Sie versuchen, einen Auflistungsinitialisierer mit einer Klasse zu verwenden, die über eine nichtöffentliche, nichtstatische Add-Methode verfügt.This error is generated when you try to use a collection initializer with a class that has no public non-static Add method. 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.If the Add method is not accessible because of its protection level (private, protected, internal) then you will get CS0122, so that this error probably means that the method is defined as static.

BeispielExample

Im folgenden Beispiel wird CS1921 generiert:The following example generates CS1921:

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

Objekt- und AuflistungsinitialisiererObject and Collection Initializers