Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Insamlingsinitieraren kräver dess typ för att implementera System.Collections.IEnumerable.
För att kunna använda en insamlingsinitierare med en typ måste typen implementera IEnumerable. Det här felet kan inträffa om du av misstag använder insamlingsinitieringssyntax när du tänker använda en objektinitierare.
Så här åtgärdar du det här felet
Om typen inte representerar en samling använder du initieringssyntax för objekt i stället för insamlingsinitieringssyntax.
Om typen representerar en samling ändrar du den så att den implementeras
IEnumerableinnan du kan använda insamlingsinitierare för att initiera objekt av den typen.Om typen representerar en samling och du inte har åtkomst till källkoden initierar du bara dess element med hjälp av deras klasskonstruktorer eller andra initieringsmetoder.
Exempel
Följande kod genererar 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; }
}