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#)