Erro do compilador CS1922
O inicializador de coleção requer seu tipo 'type' para implementar System.Collections.IEnumerable.
Para usar um inicializador de coleção com um tipo, o tipo deve implementar IEnumerable
. Este erro pode ocorrer se você acidentalmente usar a sintaxe do inicializador de coleção quando você pretendia usar um inicializador de objeto.
Se o tipo não representar uma coleção, use a sintaxe do inicializador de objeto em vez da sintaxe do inicializador de coleção.
Se o tipo representar uma coleção, modifique-a para implementar
IEnumerable
antes de poder usar inicializadores de coleção para inicializar objetos desse tipo.Se o tipo representa uma coleção e você não tem acesso ao código-fonte, basta inicializar seus elementos usando seus construtores de classe ou outros métodos de inicialização.
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 initializer.
var tc2 = new TestClass { memberA = 1, memberB = "hello" }; // OK
}
}
public class TestClass
{
public int memberA { get; set; }
public string memberB { get; set; }
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: