Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.