2009. 9. 24. 15:36
* Conditional 어트리뷰트 사용
C#코드는 디버깅을 지원하기 위해서 Conditonal 어트리뷰트를 사용 하며 지원을 합니다. Conditional 어트리뷰트는 사용자가 정의한 값에 의존해서 해당 메소드를 실행 시키도록 합니다. Conditional 어트리뷰트는 System.Diagnositcs 네임스페이스 안에 정의 되어 있습니다.
즉, #define을 설정해주지 않으면 실행 되지 않으며 설정시 실행이 됩니다.
Conditional 어트리뷰트는 클래스나 구조체 안에 있는 메소드에만 접착시킬 수 있다. 또한 그 메소드는 반드시 void형이어야 하며, 여러 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();
}
}
}
//어트리뷰트 사용
// #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 |