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
. Esse erro poderá ocorrer se você usar acidentalmente a sintaxe do inicializador de coleção quando você pretende 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 que você possa 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: