Compilerfout CS1922
Voor de initialisatiefunctie van de verzameling is het type 'type' vereist om System.Collections.IEnumerable te implementeren.
Als u een initialisatiefunctie voor verzamelingen met een type wilt gebruiken, moet het type worden geïmplementeerd IEnumerable
. Deze fout kan optreden als u per ongeluk de syntaxis van de initialisatiefunctie voor verzamelingen gebruikt wanneer u een object-initializer wilt gebruiken.
Als het type geen verzameling vertegenwoordigt, gebruikt u de syntaxis van de object-initialisatiefunctie in plaats van de syntaxis van de initialisatiefunctie voor verzamelingen.
Als het type wel een verzameling vertegenwoordigt, wijzigt u deze om te implementeren
IEnumerable
voordat u initialisatiefunctie voor verzamelingen kunt gebruiken om objecten van dat type te initialiseren.Als het type een verzameling vertegenwoordigt en u geen toegang hebt tot de broncode, initialiseert u de elementen met behulp van hun klasseconstructors of andere initialisatiemethoden.
De volgende code produceert 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; }
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: