Section 48.2: Null 인지 확인하기
확장 (Extension) 메소드는 마치 인스턴스 메소드인것처럼 동작하는 정적 (static) 메소드이다. 그러나, null
인 참조 (reference) 에 대해 인스턴스 메소드를 호출했을때와는 다르게, 확장 메소드는 null
인 참조에 대해 불리더라도 NullReferenceException 을 발생시키지 않는다. 이는 어떤 경우에는 꽤 유용하게 사용될 수 있다.
예를 들어, 다음과 같은 정적 클래스의 예를 확인하여 본다:
public static class StringExtensions {
public static string EmptyIfNull(this string text) {
return text ?? String.Empty;
}
public static string NullIfEmpty(this string text) {
return String.Empty == text ? null : text;
}
}
string nullString = null;
string emptyString = nullString.EmptyIfNull(); // "" 을 반환한다
string anotherNullString = emptyString.NullIfEmpty(); // null 을 반환한다
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
[출처] https://books.goalkicker.com/CSharpBook/
반응형
'번역 > C# Notes for Professionals' 카테고리의 다른 글
48.4: Generic 확장 메소드 (1) | 2022.09.21 |
---|---|
48.3: 확장 메소드를 명시적으로 (explicitly) 사용하기 (1) | 2022.09.21 |
48.1: 확장 (Extension) 메소드의 개요 (0) | 2022.09.21 |
48: 확장 (Extension) 메소드 (0) | 2022.09.21 |
47.8: 메소드 접근 권한들 (0) | 2022.09.21 |