본문 바로가기
프로그래밍/C#.net

[effective C#] item #4 : #if 대신 Confitional Attribute를 사용하라.

by 건우아빠유리남편 2009. 8. 24.
반응형

■item#4 #if 대신 Confitional Attribute를 사용하라.

Confitional Attribute의 제한사항
- 메서드에 대해서만 지정이 가능하다.
- Conditional Attribute를 지정하는 메서드는 반드시 void형태의 리턴 타입을 가져야 한다.
- 메서드 내의 일부 문장에 대해서만 Conditional Attribute를 지정해야 한다며 ,해당 문장을 독립된 메서드로 분리하는 것이 좋다.

 

Conditional Attribute는
- #if/#endif를 사용하는 것보다 좀 더 효율적인 IL코드를 생성한다.
- 메서드 단위로만 Attribute를 지정할 수 있기 때문에, 조건적으로 생성되는 코드들을 일반 코드들과 격리시키고, 보다 구조적으로 프로그램을 만들 수 있도록 한다.
-  컴파일러에게 #if/#endif를 사용했을 때 자칫 범하기 쉬운 오류들을 미연에 방지할 수 있도록 도와주며,#if/#endif보다 좀 더 깔끔하게 그러한 루틴들을 격리시킬수 있다.


반응형

댓글