개발언어/C#

알아두면 어쩌다 쓸것같은 Attribute들-1

Sweetmeats_boy 2019. 9. 5. 17:26
반응형

1. DebuggetDisplayAttribute

[DebuggerDisplay("Count = {count}")]
class MyHashtable
{
    public int count = 4;
}

이 Attribute의 경우 toString() 과 같은 역할을 한다. 즉, MyHashtable 객체에 toString() 시 Count="x" 로 출력됨.

 

 

2. Conditional Attribute

[Conditional("DEBUG")]
static void Method2() 
{
	Console.WriteLine("called");
}

 

이 Attribute의 경우 C에서의 #if DEBUG 와 같이 현재 실행모드가 Debug 인 경우에 대해서 사용 할 수 있다.

conditional Attribute에 지정한 모드인 경우에 해당 methid등이 구현되는 방식이며

만일 다른 모드 일 시 해당 코드는 컴파일 단계에서 무시된다.

주의 할 점은 우선 return 값이 void 여야 한다는 점, 코드 양이 많아진 후에 해당 함수 호출과 관련된 버그가 발생할 시

 분명 함수를 호출했음에도 관련 로직 실행이 안되는 등 찾기 어렵다는 점이다.

반응형