더북(TheBook)

46.4 [Conditional] 특성 사용하기

닷넷에 내장된 특성 중에는 [Conditional]이 있습니다. 이 특성을 사용하면 특정 기호(symbol)에 따라 실행 여부를 결정할 수 있습니다. 다음 내용을 입력한 후 실행하세요.

[Conditional] 특성 사용: ConditionalDemo.cs

#define RELEASE //②-1 전처리기 지시문으로 RELEASE 기호 정의
using System;
using System.Diagnostics;

public class ConditionalDemo
{
    static void Main()
    {
        DebugMethod();
        ReleaseMethod();
    }

    [Conditional("DEBUG")] //① DEBUG 기호(심벌)를 가지는 경우 실행
    static void DebugMethod() => Console.WriteLine("디버그 환경에서만 표시");

    //②-2 RELEASE 기호가 있는 경우 실행
    [Conditional("RELEASE")] static void ReleaseMethod()
        => Console.WriteLine("릴리스 환경에서만 표시");
}

실행 결과

디버그 환경에서만 표시
릴리스 환경에서만 표시

비주얼 스튜디오의 도구 모음은 다음과 같이 Debug와 Release를 구분 지을 수 있는 드롭다운 리스트를 제공합니다. 이를 사용하여 프로그램에 DEBUG와 RELEASE 기호를 제공할 수 있습니다.

▲ 그림 46-2 비주얼 스튜디오의 빌드 방식 변경 드롭다운 리스트

[Conditional] 특성은 이러한 기호를 사용하여 특정 메서드를 실행할지 결정할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.