Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Kompilator CS0110

Evaluasi nilai konstanta untuk 'deklarasi const' melibatkan definisi melingkar

Deklarasi variabel const tidak dapat mereferensikan variabel const lain sehingga dependensi melingkar terbentuk. Ini juga berlaku untuk nilai konstanta anggota enum terkait.

Contoh

Nilai MyClass.Color.Red konstanta terkait secara eksplisit diatur ke MyClass.Color.Blue, tetapi nilai MyClass.Color.Blue tergantung pada anggota enum sebelumnya (MyClass.Color.Red), karenanya kedua nilai konstanta tidak dapat ditentukan. Demikian pula, variabel MyClass.a konstan didefinisikan dalam hal MyClass.b, tetapi itu juga didefinisikan dalam hal MyClass.a.

Contoh berikut menghasilkan CS0110:

// CS0110.cs
// compile with: /target:library
class MyClass
{
    enum Color
    {
        Red = Blue,   // CS0110
        Blue,
    }

    public const int a = b + 1;   // CS0110
    public const int b = a + 1;
}

Untuk mengatasi kesalahan ini, putuskan referensi melingkar dengan memodifikasi atau menghapus definisi.

Lihat juga