Błąd kompilatora CS1922
Inicjator kolekcji wymaga jego typu "type", aby zaimplementować element System.Collections.IEnumerable.
Aby można było użyć inicjatora kolekcji z typem, typ musi implementować IEnumerable
element . Ten błąd może wystąpić, jeśli przypadkowo użyto składni inicjatora kolekcji, gdy zamierzasz użyć inicjatora obiektów.
Jeśli typ nie reprezentuje kolekcji, użyj składni inicjatora obiektów zamiast składni inicjatora kolekcji.
Jeśli typ reprezentuje kolekcję, zmodyfikuj ją w celu zaimplementowania
IEnumerable
, zanim będzie można użyć inicjatorów kolekcji, aby zainicjować obiekty tego typu.Jeśli typ reprezentuje kolekcję i nie masz dostępu do kodu źródłowego, po prostu zainicjuj jego elementy przy użyciu konstruktorów klas lub innych metod inicjowania.
Poniższy kod tworzy 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; }
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: