Error del compilador CS1921

Actualización: noviembre 2007

Mensaje de error

La mejor coincidencia de método sobrecargado para 'método' tiene una firma errónea para el elemento inicializador. El elemento Add inicializable debe ser un método de instancia accesible.
The best overloaded method match for 'method' has wrong signature for the initializer element. The initializable Add must be an accessible instance method.

Este error se genera cuando intenta utilizar un inicializador de colección con una clase que no tiene un método Add no estático público. Si no se puede obtener acceso al método Add debido a su nivel de protección (private, protected, internal), obtendrá el error CS0122, de forma que este error probablemente significa que el método está definido como static.

Ejemplo

El ejemplo siguiente genera el error 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
    }
}

Vea también

Referencia

Inicializadores de objeto y de colección (Guía de programación de C#)