확장 메소드를 사용하면 기존 클래스에 새로운 기능을 추가할 수 있다.
이는 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 |