Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Pengompilasi CS1922

Penginisialisasi koleksi memerlukan jenis 'type' untuk mengimplementasikan System.Collections.IEnumerable.

Untuk menggunakan penginisialisasi koleksi dengan suatu jenis, ia harus menerapkan IEnumerable. Kesalahan ini dapat terjadi jika Anda secara tidak sengaja menggunakan sintaks penginisialisasi koleksi saat Anda bermaksud untuk menggunakan penginisialisasi objek.

Untuk memperbaiki kesalahan ini

  • Jika jenis tidak mewakili koleksi, gunakan sintaks penginisialisasi objek alih-alih sintaks penginisialisasi koleksi.

  • Jika jenis mewakili koleksi, ubahlah untuk mengimplementasikan IEnumerable sebelum Anda dapat menggunakan penginisialisasi koleksi untuk menginisialisasi objek dari jenis tersebut.

  • Jika jenis mewakili koleksi dan Anda tidak memiliki akses ke kode sumber, cukup inisialisasi elemennya dengan menggunakan konstruktor kelasnya atau metode inisialisasi lainnya.

Contoh

Kode berikut menghasilkan CS1922:

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

Lihat juga