Anteckning
Å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.
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
IEnumerable
innan 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.
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; }
}
Feedback om .NET
.NET är ett öppen källkod projekt. Välj en länk för att ge feedback: