확장 메소드를 사용하면 기존 클래스에 새로운 기능을 추가할 수 있다.

이는 sealed 로 표시된 수많은 상속 불가능한 .NET 내장객체에 기능을 추가할 때 특히 유용하다.

그리고 LINQ 는 전체가 확장 메소드로 구현되어 있다고 한다.(아직 LINQ 공부안함..-_-)

방법은 단지 static class 를 구현하기만 하면 된다는 것인데, 자세한 방법은 headfirst C# p688~690 을 보기 바란다.

p690 에 나온것처럼, 확장 메소드를 추가하는 static class 들을 별도의 namespace로 분리하면 관리가 쉽다.

확장하고 싶으면 using MyExtensions; 처럼 using 문만 하나 쓰면 되니까 말이다.




<static class의 특징>
1.static calss 에는 static member 만 포함될 수 있다.
2.static class는 인스턴스화 할 수 없다.
3.2에 의해 static class 는 생성자를 가질 수 없다.
4.static class를 상속받을 수 없다.(sealed class 이다)

'C#, .NET' 카테고리의 다른 글

LINQ  (0) 2011.06.17
Hive Simulator  (0) 2011.06.17
struct  (0) 2011.06.17
destructor / Dispose()  (0) 2011.06.17
Form 과 관련된 여러가지 속성 등  (0) 2011.06.17
Posted by 휘사마
,