티스토리 뷰

카테고리 없음

[C# 3.5] 확장 메서드

오틸라 2010. 4. 5. 13:51
반응형

예.....



닷넷 프레임워크 3.5 부터 생긴건데요.


우리 마을분중 한분의 소개로 확장메서드를 다뤄볼까 합니다.



확장메서드가 뭔지 간단하게 요약하자면 :

    - string에서 기본적으로 내장되어 있는 메소드들이 있죠. ToString() 같은거 그런 원하는 메소드들을 추가해서 쓸수 있다는 겁니다.

msdn의 어려운 설명을 한줄로 처리했는데 이해가 잘 되시나요???





아마 인터넷으로도 확장메서드를 검색하면 많은 내용이 나올겁니다.


하지만 직접 만들어보지 않고는 뭐가 유용한지 조차도 잘 모를거에요.



일단 만들어 봅시다.






만들기.



1. ToMoneyString 이라는 메서드를 만들고, 여기에는 숫자값 string이 들어가면 세자리 컴마되어 반환된다.





일단 클래스를 만들어 봅시다.


이른바 확장클래스!








뭐 간단하게 했습니다. 숫자형태인지 비교하거나, 억단위가 넘거나 해서 발생하는 문제는


개발하시면서 추가하시기 바랍니다 ^^;;




일단 저 메소드는


숫자형태의 스트링값이 들어왔을때 세자리 컴마를 찍어서 리턴해주는 함수 입니다.


static으로 잡힌 형태를 잘봐 주시구요.


아무 클래스나 하나 만들어서 추가하시면 됩니다.




유념해서 보셔야할 것은


ToMoneyString(this string s) 


이거 입니다.



this string.....


static 메소드를 만드실때 this 와 데이터타입을 지정하면



그 데이터타입에 확장메소드가 생성되는 겁니다.


그럼 폼에서 한번 불러볼까요? 인텔리센스를.....




툴팁에 확장 이라고 하면서 메소드를 보여주죠?


저걸 쓰면 세자리 컴마로 바꿔주게 되는거죠.



물론 이렇게 불러집니다.



ㅎㅎ



리턴값을 받아보면?




이렇게 됩니다.



null검사라던지, 갯수 검사라던지, 하여간에 자주 쓰이는 것들은 확장 메서드로 만들어 쓰면 됩니다.


가령,


int 안에 maximum 검사하는걸 만들어서


int가 수용할 수 있는 값보다 큰값이 들어왔는가? bool 리턴받는것도 있다면 편하겠죠? ^^;

반응형
댓글