Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Não é possível usar a variável local 'name' antes de ser declarada.
Uma variável deve ser declarada antes de ser usada.
Exemplo de uma variável usada antes da declaração
O exemplo a seguir gera CS0841:
// cs0841.cs
using System;
public class Program
{
public static void Main()
{
j = 5; // CS0841
int j;
}
}
Corrija o erro movendo a declaração antes do uso
Mova a declaração da variável antes da linha onde o erro ocorre.
using System;
public class Program
{
public static void Main()
{
int j;
j = 5;
}
}
Exemplo de uma variável sombreando um tipo
No exemplo a seguir, a intenção era comparar parameter com MyEnum.A. Como uma variável local declarada posteriormente com o mesmo nome de tipo, ela sombreia o tipo MyEnum e MyEnum , nesse método, não se refere mais ao enum, mas se refere à variável local declarada.
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());
}
}