posted by 방랑군 2009. 9. 24. 15:36
* Conditional 어트리뷰트 사용
#define DEBUG       //DEBUG   
//어트리뷰트 사용  
// #undef DEBUG     //어튜리뷰트 사용 해제
using System;  
using System.Diagnostics;
namespace CSharpStudy  
{  
       class  MainClass  
       {  
           [Conditional("DEBUG")]  
           public static void DebugPrint()  
           {  
              Console.WriteLine("Debug");  
           }   

           [STAThread]  
           static void Main(string[] args)  
           {  
              DebugPrint();  
           }
       }
}

C#코드는 디버깅을 지원하기 위해서 Conditonal 어트리뷰트를 사용 하며 지원을 합니다. Conditional 어트리뷰트는 사용자가 정의한 값에 의존해서 해당 메소드를 실행 시키도록 합니다. Conditional 어트리뷰트는 System.Diagnositcs 네임스페이스 안에 정의 되어 있습니다.

즉, #define을 설정해주지 않으면 실행 되지 않으며 설정시 실행이 됩니다.
Conditional 어트리뷰트는 클래스나 구조체 안에 있는 메소드에만 접착시킬 수 있다. 또한 그 메소드는 반드시 void형이어야 하며, 여러 Conditional어트리뷰트를 접착시키면 그중 하나만 위치지정 파라미터가 정의 되어 있어도 해당 메소드는 실행됩니다.

'GET > Attribute' 카테고리의 다른 글

참고 사이트.  (0) 2009.09.24
간단 예제.  (0) 2009.09.24
* DllImport 어트리뷰트  (0) 2009.09.24
Attrubute(어트리뷰트)  (0) 2009.09.24
Attribute Oriented Programming  (0) 2009.09.24