Chyba kompilátoru CS1922
Inicializátor kolekce vyžaduje k implementaci System.Collections.IEnumerable typ 'type'.
Chcete-li použít inicializátor kolekce s typem, musí typ implementovat IEnumerable
. K této chybě může dojít, pokud omylem použijete syntaxi inicializátoru kolekce, pokud jste chtěli použít inicializátor objektů.
Pokud typ nepředstavuje kolekci, místo syntaxe inicializátoru kolekce použijte syntaxi inicializátoru objektů.
Pokud typ představuje kolekci, upravte ji tak, aby se implementovala
IEnumerable
před použitím inicializátorů kolekce k inicializaci objektů tohoto typu.Pokud typ představuje kolekci a nemáte přístup ke zdrojovému kódu, stačí inicializovat jeho prvky pomocí jejich konstruktorů tříd nebo jiných inicializačních metod.
Následující kód vytvoří 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; }
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: