Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS1922

Inicializátor kolekce vyžaduje k implementaci System.Collections.IEnumerable typ 'type'.

Chcete-li použít inicializátor kolekce s typem, musí typ implementovat IEnumerable. K této chybě může dojít, pokud omylem použijete syntaxi inicializátoru kolekce, pokud jste chtěli použít inicializátor objektů.

Oprava této chyby

  • Pokud typ nepředstavuje kolekci, místo syntaxe inicializátoru kolekce použijte syntaxi inicializátoru objektů.

  • Pokud typ představuje kolekci, upravte ji tak, aby se implementovala IEnumerable před použitím inicializátorů kolekce k inicializaci objektů tohoto typu.

  • Pokud typ představuje kolekci a nemáte přístup ke zdrojovému kódu, stačí inicializovat jeho prvky pomocí jejich konstruktorů tříd nebo jiných inicializačních metod.

Příklad

Následující kód vytvoří 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; }
}

Viz také