İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Hatası CS0841

Bildirilmeden önce 'name' yerel değişkeni kullanılamaz.

Bir değişken kullanılmadan önce bildirilmelidir.

Bildirimden önce kullanılan değişken örneği

Aşağıdaki örnek CS0841 oluşturur:

C#
// cs0841.cs
using System;

public class Program
{
    public static void Main()
    {
        j = 5; // CS0841
        int j;
    }
}

Bildirimi kullanımdan önce taşıyarak hatayı düzeltin

Değişken bildirimini hatanın oluştuğu satırdan önce taşıyın.

C#
using System;  

public class Program
{
    public static void Main()
    {
        int j;
        j = 5;
    }
}

Bir türü gölgelendirmek için değişken örneği

Aşağıdaki örnekte amaç ile MyEnum.Akarşılaştırıldıparameter. Daha sonra aynı tür adıyla bildirilen bir yerel değişken türü gölgelediğinden MyEnum ve MyEnum bu yöntemde artık öğesine değil enum, bildirilen yerel değişkene başvurur.

C#
using System;

public enum MyEnum
{
    A, B, C
}

public class C
{
    public void M(MyEnum parameter)
    {
        // error CS0841: Cannot use local variable 'MyEnum' before it is declared
        if (parameter == MyEnum.A)
        {
            return;
        }

        // Change the variable to 'myEnum' to avoid shadowing the 'MyEnum' type.
        // This change also aligns with the C# coding conventions.
        var MyEnum = parameter;
        Console.WriteLine(MyEnum.ToString());
    }
}