#line(C# 참조)

업데이트: 2007년 11월

#line을 사용하면 오류 및 경고에 대해 컴파일러에서 출력하는 줄 번호와 파일 이름(선택적 요소)을 수정할 수 있습니다. 다음 예제에서는 줄 번호와 관련된 두 개의 경고를 보고하는 방법을 보여 줍니다. #line 200 지시문은 기본값이 #7인 줄 번호를 강제로 200으로 만듭니다. 다른 줄(#9)은 기본 #line 지시문의 결과에 따라 일반적인 시퀀스를 따릅니다.

class MainClass
{
    static void Main() 
    {
#line 200
        int i;    // CS0168 on line 200
#line default
        char c;   // CS0168 on line 9
    }
}

설명

#line 지시문은 빌드 프로세스의 자동화된 중간 단계에서 사용합니다. 예를 들어, 원본 소스 코드 파일의 줄을 제거했지만 컴파일러에서 파일의 원래 줄 번호를 따라 출력하려는 경우, 줄을 제거한 다음 #line을 사용하여 원래 줄 번호를 시뮬레이션할 수 있습니다.

#line hidden 지시문은 이 지시문 다음에 나오는 줄을 디버거에서 숨깁니다. 따라서 개발자가 코드를 단계별로 실행할 경우 #line hidden과 다음 #line 지시문(이 지시문이 다른 #line hidden 지시문이 아니라고 가정하고) 사이에 있는 모든 줄을 건너 뜁니다. 뿐만 아니라 이 옵션을 사용해 ASP.NET에서 사용자 정의 코드와 시스템 생성 코드를 구별하도록 할 수 있습니다. 현재는 ASP.NET에서 이 기능을 주로 사용하지만 앞으로는 보다 많은 소스 생성기에서 이 기능을 사용하게 될 것입니다.

#line hidden 지시문은 오류 보고에 나타나는 파일 이름이나 줄 번호에는 영향을 주지 않습니다. 따라서 숨겨진 블록에서 오류가 발생하더라도 컴파일러가 현재 파일 이름과 오류를 발생시킨 줄 번호를 보고합니다.

#line filename 지시문은 컴파일러 출력에 표시할 파일 이름을 지정합니다. 기본적으로 소스 코드 파일의 실제 이름을 사용합니다. 파일 이름은 큰따옴표("")로 묶어야 합니다.

소스 코드 파일에 여러 개의 #line 지시문을 사용할 수 있습니다.

예제 1

다음 예제는 디버거가 코드의 숨겨진 줄을 무시하는 방법을 보여 줍니다. 이 예제를 실행하면 텍스트 세 줄이 표시됩니다. 그러나 다음 예제에서와 같이 중단점을 설정하고 F10 키를 눌러 코드를 단계별로 실행하면 디버거가 숨겨진 줄을 무시합니다. 뿐만 아니라 숨겨진 줄에 중단점을 설정하더라도 디버거가 해당 줄을 무시합니다.

// preprocessor_linehidden.cs
using System;
class MainClass 
{
    static void Main() 
    {
        Console.WriteLine("Normal line #1."); // Set break point here.
#line hidden
        Console.WriteLine("Hidden line.");
#line default
        Console.WriteLine("Normal line #2.");
    }
}

참고 항목

개념

C# 프로그래밍 가이드

참조

C# 전처리기 지시문

기타 리소스

C# 참조