Ошибка компилятора CS1921Compiler Error CS1921

Наиболее подходящий перегруженный метод для "метод" имеет неправильную сигнатуру элемента инициализатора.The best overloaded method match for 'method' has wrong signature for the initializer element. Инициализируемый метод Add должен быть доступным методом экземпляра.The initializable Add must be an accessible instance method.

Эта ошибка возникает при попытке использовать инициализатор коллекции с классом, не имеющим открытого нестатического метода Add.This error is generated when you try to use a collection initializer with a class that has no public non-static Add method. Если метод Add недоступен из-за установленного уровня защиты (private, protected, internal), возникнет ошибка CS0122, которая, как правило, означает, что метод определен как static.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.

ПримерExample

В следующем примере возникает ошибка CS1921: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  
    }  
}  

См. такжеSee also