컴파일러 오류 CS0841
'name' 지역 변수는 선언되지 않으면 사용할 수 없습니다.
변수는 사용하기 전에 선언되어야 합니다.
다음 예제에서는 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());
}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.