Sdílet prostřednictvím


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)