Error del compilador CS1950

Actualización: noviembre 2007

Mensaje de error

El mejor método Add sobrecargado 'nombre' para el inicializador de colección tiene algunos argumentos no válidos.
The best overloaded Add method 'name' for the collection initializer has some invalid arguments.

Para que una clase pueda utilizar inicializadores de colección, debe implementar IEnumerable y tener un método Add público. Para inicializar el tipo mediante un inicializador de colección, el parámetro de entrada del método Add debe ser compatible con el tipo del objeto que está intentando agregar.

Para corregir este error

  • Utilice un tipo compatible en el inicializador de colección.

  • Modifique el parámetro de entrada y/o accesibilidad del método Add en el tipo de colección.

  • Agregue un nuevo método Add con un parámetro de entrada que coincida con el tipo que va a pasar.

  • Haga que su clase de colección sea genérica, de modo que pueda tener un método Add que acepte cualquier tipo que se vaya a pasar.

Ejemplo

El ejemplo siguiente genera el error CS1950:

// cs1950.cs
using System.Collections;
class TestClass : CollectionBase
{
    public void Add(int c)
    {
    }
}

class Test
{
    static void Main()
    {
        TestClass t = new TestClass { "hi" }; // CS1950
    }
}

Vea también

Referencia

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