CS1950 de erro do compilador

Mensagem de erro

O melhor adicionar método sobrecarregado 'nome' para o inicializador de coleção tem alguns argumentos inválidos.

Para oferecer suporte à coleção inicializadores, uma classe deve implementar IEnumerable e tiver um público Add método. Ao inicializar o tipo por meio de um inicializador de coleta, o parâmetro de entrada do Add método deve ser compatível com o tipo do objeto que você está tentando adicionar.

Para corrigir este erro

  • Use um tipo compatível no inicializador de coleção.

  • Modificar o parâmetro de entrada e/ou a acessibilidade do Add método no tipo de coleção.

  • Adicionar um novo Add método com um parâmetro de entrada que coincida com o que você está passando em.

  • Faça sua classe de coleção genéricos para que ele pode ter um Add método aceita qualquer tipo que você passar.

Exemplo

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

Consulte também

Referência

Objeto e inicializadores de coleção (Guia de programação C#)