1. DebuggerDisplay Attribute
: Debugging 시에 데이터의 속성을 사용자가 원하는 형태로 출력할 수 있는 속성을 지정한다.
예)
[DebuggerDisplay("This person is called {Name} and is {AgeInYears} years old")]
class PersonWithDebuggerDisplay
{
[DebuggerDisplay("{AgeInYears} years old")]
public int AgeInYears { get; set; }
public string Name { get; set; }
}
사용 범위 : Classes , Structs, Delegates, Enums, Fields, Properties, Assemblies
2. DebuggerBrowsable Attribute
: Debugging 시에 변수의 데이터 속성 정보를 알리는 브라우저에서 해당 멤버 변수들에 대한 표현을 어떻게 나타낼 것인지를 설정하는 속성지정 방법이다.
BrowsableState 설정 옵션 정보들이다.
결과는 아래와 같이 표현된다.
3. null-coalescing operator
변수가 널을 갖고있는지 확인하는 연산자로 '??' 를 사용한다.
다음은 '??' 연산자를 이용하여 관용적으로 사용되는 if 문의 조건문을 변경하는 방법이다.
if 조건문 사용구문
'??' 연산자 사용으로 변환
'??' 연산자 응용 방법
4. CallerInfo Attribute
호출자에 대한 정보를 기본 값으로 전달하도록 도와주는 속성지정자이다. 디버깅할 때에 유용하게 사용될 수 있다.
CallerMemberName, CallerFilePath, CallerLineNumber
정의 방법
구현
출력