CS1922 de erro do compilador

Mensagem de erro

Inicializador de coleção requer seu tipo para implementar sistema.Collections.IEnumerable ' tipo'.

Para usar um inicializador de coleta com um tipo, o tipo deve implementar IEnumerable. Este erro pode ocorrer se você usar a sintaxe do inicializador de coleção acidentalmente quando você pretendia usar um inicializador de objeto.

Para corrigir este erro

  • Se o tipo não representa uma coleção, use a sintaxe do inicializador de objeto em vez da sintaxe do inicializador de coleção.

  • Se o tipo representa uma coleção, modificá-lo a implementar IEnumerable antes de usar os inicializadores de coleção ao inicializar objetos desse tipo.

  • Se o tipo representa uma coleção e você não tem acesso ao código-fonte, simplesmente inicialize seus elementos usando seus construtores de classe ou outros métodos de inicializar.

Exemplo

O código a seguir produz CS1922:

// cs1922.cs
public class Test
{
    public static void Main()
    {
        // Collection initializer.
        var tc = new TestClass  {1,"hello"} ; // CS1922

        // Object initalizer.
        var tc2 = new TestClass { memberA = 1, memberB = "hello" }; // OK
    }
}

public class TestClass
{
    public int memberA { get; set; }
    public string memberB { get; set; }
}

Consulte também

Referência

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