Compilerfehler CS1922
Aktualisiert: November 2007
Fehlermeldung
Der Auflistungsinitialisierer erfordert, dass sein Typ "Typ" System.Collections.IEnumerable implementiert.
Collection initializer requires its type 'type' to implement System.Collections.IEnumerable.
Damit ein Auflistungsinitialisierer mit einem Typ verwendet werden kann, muss der Typ IEnumerable implementieren. Dieser Fehler kann auftreten, wenn Sie versehentlich die Syntax eines Auflistungsinitialisierers anstelle der eines Objektinitialisierers verwenden.
So beheben Sie diesen Fehler
Wenn der Typ keine Auflistung repräsentiert, verwenden Sie die Syntax eines Objektinitialisierers anstelle der eines Auflistungsinitialisierers.
Wenn der Typ keine Auflistung repräsentiert, ändern Sie ihn so, dass IEnumerable implementiert wird, bevor Sie mit dem Auflistungsinitialisierer Objekte dieses Typs initialisieren können.
Wenn der Typ eine Auflistung repräsentiert und Sie keinen Zugriff auf den Quellcode haben, initialisieren Sie nur seine Elemente mit deren Klassenkonstruktoren oder anderen Initialisierungsmethoden.
Beispiel
Durch den folgenden Code wird der Fehler CS1922 ausgelöst:
// cs1922.cs
public class Test
{
public static void Main()
{
// Collection initializer.
var tc = new TestClass {1,"hello"} ; // CS1922
// Object initalizer.
var tc2 = new TestClass { memberA = 1, memberB = "hello" }; // OK
}
}
public class TestClass
{
public int memberA { get; set; }
public string memberB { get; set; }
}
Siehe auch
Referenz
Objekt- und Auflistungsinitialisierer (C#-Programmierhandbuch)