İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Hatası CS1922

Koleksiyon başlatıcı, System.Collections.IEnumerable'ı uygulamak için 'type' türünü gerektirir.

Koleksiyon başlatıcısını bir türle kullanmak için türünün uygulaması IEnumerablegerekir. Bu hata, bir nesne başlatıcı kullanmak istediğinizde yanlışlıkla koleksiyon başlatıcı söz dizimi kullanırsanız oluşabilir.

Bu hatayı düzeltmek için

  • Tür bir koleksiyonu temsil etmiyorsa, koleksiyon başlatıcı söz dizimi yerine nesne başlatıcı söz dizimini kullanın.

  • Tür bir koleksiyonu temsil etmiyorsa, koleksiyon başlatıcılarını kullanarak bu türdeki nesneleri başlatmadan önce bunu uygulayacak IEnumerable şekilde değiştirin.

  • Tür bir koleksiyonu temsil ediyorsa ve kaynak koduna erişiminiz yoksa, sınıf oluşturucularını veya diğer başlatma yöntemlerini kullanarak öğelerini başlatmanız gerekir.

Örnek

Aşağıdaki kod CS1922 oluşturur:

// 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; }
}

Ayrıca bkz.