티스토리 뷰

Programming/C#

[C#] 확장 메소드

YonghoChoi ★용호★ 2013.04.15 11:18

2013년 4월 15일

 

C#으로 짜여진 소스를 분석하다가 도무지 이해할 수 없는 코드가 있어서 찾아보다가 새로운 기능을 알게되었다.

C++로만 작업하다가 급 C#으로 넘어가게 되어서 생소한 부분들이 많았는데 이 것도 참 생소한 개념!

 

내가 본 소스의 내용은 이랬다.

기본적인 내용만 있는(멤버변수 선언과 싱글톤으로 사용하기 위한 객체 할당부분) 클래스가 있었고 이 클래스에 대한 구체적인 내용은 구현되어 있지 않았는데 이 클래스의 객체를 통해 다른 static class의 메소드들을 사용하고 있었던 것!

아니 어떻게 이게 가능하지...? 한참 고민하다 찾아보니 바로 "확장 메소드" 라는 개념이었다.

이 확장 메소드를 사용하기 위한 포인트는 확장 클래스가 static으로 선언되어야 하고 메소드들도 static으로 선언 되어야 한다는 것!

그리고 "this [모체가 되는 클래스 객체]" 형태의 매개변수가 필요하다.

 

 

 

 

테스트 해본 소스에서 User가 모체가 되는 클래스이고 UsetSet이 확장 메소드를 사용하기 위한 클래스이다.

 

 

'Programming > C#' 카테고리의 다른 글

[ASP.NET MVC] InputStream의 Position 값 문제..  (0) 2013.05.20
[ASP.NET MVC] AsyncController 테스트  (1) 2013.04.22
[ASP.NET MVC] Controller 테스트  (0) 2013.04.16
[C#] Attribute 활용  (0) 2013.04.15
[C#] 확장 메소드  (1) 2013.04.15
댓글
댓글쓰기 폼