Error del compilador CS0841
No se puede usar la variable 'name' antes de declararla.
Una variable debe declararse antes de su uso.
El ejemplo siguiente genera el error CS0841:
// cs0841.cs
using System;
public class Program
{
public static void Main()
{
j = 5; // CS0841
int j;
}
}
Desplace la declaración de variable antes de la línea donde se produce el error.
using System;
public class Program
{
public static void Main()
{
int j;
j = 5;
}
}
En el siguiente ejemplo, la intención era comparar parameter
con MyEnum.A
. Dado que hay una variable local declarada más adelante con el mismo nombre de tipo, reemplaza el tipo MyEnum
; MyEnum
en este método ya no hace referencia a enum
, sino a la variable 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());
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: