Attribute
: 어트리뷰트는 클래스 안에 메타 정보를 포함시킬 수 있는 새로운 기술이다.
어트리뷰트는 선언적 컴파일을 지원하기 때문에 코딩에 많은 이점을 더해주고 있다.
특히 컴포넌트를 만들 때 유용하게 쓸 수 있다.
어트리뷰트(Attribute).
- 런타임 시 필요한 정보들을 전달.
- 클래스, 구조체, 열거형, 어셈블리 등에 정보 제공.
- 일종의 특수한 주석, 프로그래밍 가능
- [어트리뷰트명(지정위치 파라미터, 명명 파라미터)]
- 내장 어트리뷰트 & 사용자 어트리뷰트
- 일반 어트리뷰트, COM호환 어트리뷰트, 트랜잭션 어트리뷰트,
비쥬얼 디자이너 컴포넌트 어트리뷰트
- Conditional. DllImport, Obsolete
Conditional
- 디버깅에 사용.
- 정의된 심볼에 따라서 메소드 호출 여부가 결정.
- 메소드 반환형은 void
- override 메소드에선 사용불가.
- 인터페이스 구현 멤버 메소드도 불가
- 전처리기
- [Conditional("DEBUG")]
#define DEBUG
using System;
using System.Diagnostics;
class Test
{
[Conditional("DEBUG")]
public static void DebugPrint()
{
Console.WriteLine("Debuging..");
}
public static void Main()
{
DebugPrint();
Console.Read();
}
}//class
DllImport
- 외부 DLL을 호출하기 위한 어트리뷰트.
- System.Runtime.InteropServices
using System;
using System.Runtime.InteropServices;
class Test
{
[DllImport("User32.dll")]
public static extern int MessageBox(int i, string text, string title, int type);
[DllImport("kernel32.dll")]
private static extern bool Beep(int freq, int dur);
public static void Main()
{
MessageBox(0, "MessageBox Text", "DllImport Test", 3);
Beep(2600, 1000);
Console.Read();
}
}//class
Obsolete
- 더 이상 사용되지 않기를 권장하는 오래된 멤버를 구현할 때 사용.
using System;
class Test
{
[Obsolete("오래된 버젼입니다. MethodNew()를 사용하세요.")]
public static void MethodOld()
{
Console.WriteLine("Old");
}
public static void MethodNew()
{
Console.WriteLine("New");
}
public static void Main()
{
MethodOld();
Console.Read();
}
}//class
[출처] 파일 & 디렉토리.(2004.05.18) CSharp 기초 |작성자 여유
'Language > C#.NET' 카테고리의 다른 글
Machine Key (0) | 2012.04.24 |
---|---|
Reflection (0) | 2012.04.24 |
C# 기초 (0) | 2012.04.24 |
날짜차이계산 (0) | 2012.04.24 |
ComboBox 만들기 메쏘드 (0) | 2012.04.24 |