Compiler Error CS0844
Tidak dapat menggunakan variabel lokal 'name' sebelum dideklarasikan. Deklarasi variabel lokal menyembunyikan bidang 'nama'.
Pengidentifikasi hanya dapat memiliki satu arti dalam blok tertentu. Variabel lokal yang memiliki nama yang sama dengan bidang kelas dapat menyembunyikan bidang dengan memperkenalkan arti kedua untuk pengidentifikasi. Oleh karena itu kompilator menghasilkan kesalahan ketika Anda merujuk ke bidang kelas dalam metode, lalu mendeklarasikan variabel lokal dengan nama yang sama.
Menggunakan
this.num
untuk merujuk ke bidang kelas.Memberi variabel lokal nama yang berbeda dari bidang kelas.
Kode berikut menghasilkan CS0844:
class Test
{
int num;
public void TestMethod()
{
num = 5; // CS0844
int num = 6;
}
public static int Main()
{
return 1;
}
}
class Test
{
int num;
public void TestMethod()
{
this.num = 5; // Error fixed.
int num = 6;
}
public static int Main()
{
return 1;
}
}
class Test
{
int num;
public void TestMethod()
{
num = 5; // Error fixed.
int num2 = 6;
}
public static int Main()
{
return 1;
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: