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.
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.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: