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