Section 48.14: 확장 메소드를 통한 강력한 형식 (strongly typed) 의 래퍼 (wrapper) 작성하기

확장 메소드를 이용하면 Dictionary 와 유사한 객체들에 대한 강력한 형식 (strongly typed) 기반의 래퍼 (wrapper) 를 작성할 수 있다. 예를 들면 캐시라던가, HttpContext.Items 등등이 이에 해당한다.

public static class CacheExtensions { public static void SetUserInfo(this Cache cache, UserInfo data) => cache["UserInfo"] = data; public static UserInfo GetUserInfo(this Cache cache) => cache["UserInfo"] as UserInfo; }

이러한 접근 방식은 코드 전반에 걸쳐 스트링 리터럴을 키 (key) 로 사용한다거나 값을 읽을 때 원하는 타입으로의 캐스팅을 해야 한다거나 하는 필요를 없애준다. 종합적으로 보면, 이는 Dictionary 와 같은 느슨한 형식 (loosely typed) 을 갖는 객체를 보다 안전하고 강력한 형식 (strongly typed) 기반으로 사용할 수 있는 방법을 제공한다.

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

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

반응형

+ Recent posts