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 을 반환한다

Live Demo on .NET Fiddle

본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

+ Recent posts