Erro do Compilador CS1921Compiler Error CS1921

A melhor correspondência de método sobrecarregado para 'método' tem assinatura errada para o elemento do inicializador.The best overloaded method match for 'method' has wrong signature for the initializer element. O Add inicializável deve ser um método de instância acessível.The initializable Add must be an accessible instance method.

Esse erro é gerado quando você tenta usar um inicializador de coleção com uma classe que não tem método público Add não estático.This error is generated when you try to use a collection initializer with a class that has no public non-static Add method. Se o método Add não estiver acessível devido ao seu nível de proteção (private, protected, internal), você obterá o erro CS0122, portanto, esse erro provavelmente significa que o método está definido como 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.

ExemploExample

O exemplo a seguir gera o erro 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  
    }  
}  

Confira tambémSee also