Ошибка компилятора CS0841
Невозможно использовать локальную переменную "имя" до ее объявления.
Переменная должна быть объявлена, прежде чем можно будет ее использовать.
В следующем примере возникает ошибка CS0841:
// cs0841.cs
using System;
public class Program
{
public static void Main()
{
j = 5; // CS0841
int j;
}
}
Переместите объявление переменной перед строкой, где возникает ошибка.
using System;
public class Program
{
public static void Main()
{
int j;
j = 5;
}
}
В следующем примере намерение сравнивается parameter
с MyEnum.A
. Так как локальная переменная, объявленная позже с тем же именем типа, она тени типа MyEnum
и MyEnum
в этом методе больше не ссылается enum
на нее, но ссылается на объявленную локальную переменную.
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());
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: