Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Penyusun CS0136

Variabel lokal bernama 'var' tidak bisa dideklarasikan dalam lingkup ini karena akan memberikan arti yang berbeda pada 'var', yang sudah digunakan dalam cakupan 'induk atau saat ini/anak' untuk menunjukkan sesuatu yang lain

Sebuah deklarasi variabel menyembunyikan deklarasi lain yang seharusnya berada dalam ruang lingkup. Ganti nama variabel yang dideklarasikan pada baris yang menghasilkan CS0136.

Contoh

Contoh berikut menghasilkan CS0136:

C#
// CS0136.cs  
namespace MyNamespace  
{  
   public class MyClass  
   {  
      public static void Main()  
      {  
         int i = 0;  
         {  
            char i = 'a';   // CS0136, hides int i  
         }  
         i++;  
      }  
   }  
}  

Dari Spesifikasi Bahasa C#:

Ini adalah kesalahan untuk ruang deklarasi variabel lokal dan ruang deklarasi variabel lokal bersarang untuk menampung elemen dengan nama yang sama. Dengan demikian, dalam ruang deklarasi bersarang tidak memungkinkan untuk mendeklarasikan variabel lokal atau konstanta dengan nama yang sama dengan variabel lokal atau konstanta dalam ruang deklarasi yang tertutup. Dimungkinkan bagi dua ruang deklarasi untuk menampung elemen dengan nama yang sama selama tidak satu pun ruang deklarasi tersebut menampung satu sama lain.