İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Hatası CS0844

Bildirilmeden önce 'name' yerel değişkeni kullanılamaz. Yerel değişkenin bildirimi 'name' alanını gizler.

Tanımlayıcının belirli bir blokta tek bir anlamı olabilir. Sınıf alanlarıyla aynı ada sahip yerel değişkenler, tanımlayıcı için ikinci bir anlam ekleyerek alanı gizleyebilir. Bu nedenle, bir yöntemdeki bir sınıf alanına başvurup aynı ada sahip bir yerel değişken bildirdiğinizde derleyici bir hata oluşturur.

Bu hatayı düzeltmek için

  • Sınıf alanına başvurmak için kullanın this.num .

  • Yerel değişkene sınıf alanından farklı bir ad verin.

Örnek

Aşağıdaki kod CS0844 oluşturur:

C#
class Test  
    {  
        int num;  
        public void TestMethod()  
        {  
            num = 5; // CS0844  
            int num = 6;
        }  
        public static int Main()  
        {  
            return 1;  
        }  
    }  

Sınıf alanına başvurmak için komutunu kullanarak this.num hatayı düzeltin

C#
class Test  
    {  
        int num;  
        public void TestMethod()  
        {  
            this.num = 5; // Error fixed.
            int num = 6;
        }  
        public static int Main()  
        {  
            return 1;  
        }  
    }  

Yerel değişkene sınıf alanından farklı bir ad vererek hatayı düzeltin

C#
class Test  
    {  
        int num;  
        public void TestMethod()  
        {  
            num = 5; // Error fixed.
            int num2 = 6;
        }  
        public static int Main()  
        {  
            return 1;  
        }  
    }