본문 바로가기

[ programing ]/C#

C# 확장클래스



[C# 확장클래스]



확장 메서드 

기존클래스 기능 확장하는 방법입니다. 



확장 메서드의 선언은 static 한정자로 수식하며 

첫번째 매개 변수는 반드시 this키워드와 함께 확장하고자 하는 클래스(형식)의 인스턴스여야 합니다.



namespace 이름

{

public static class 이름

{

public static int(this int b)

{

}

}

}





[C# 확장클래스]




namespace Extension

{

public static class IntegerExtension

{

public static int Powers(this int MeInt, int exponent)

{

int result = MeInt;

for( int i=1; i< exponent; i++)

{

result = result * MeInt;

}

result result;

}

}

}



[C# 확장클래스]



예제)


확장 클래스는 using Extension;  클래스의 네임스페이스로 사용 가능함..



int a= 1;

Console.WriteLine( a.Powers(2));

Console.WriteLine( 7.Powers(2));



마치 Powers()메서드가 int형식의 메서드 인것처럼 사용 가능합니다.






[C# 확장클래스]



add unnecessary comments...

예전 프로젝트에서 확장 클래스가 쓰여서 순간 놀랬던 적이 있다.
프로젝트 시스템 개발 하시는 분들은 역시!!!
C# 문법에 능통한 분들이신지라
내가 안쓰는 문법들을 제대로 구현하여 쓰시는 듯 하다.

그렇게 보면
C#책에 있는 기본 문법들은 하나두 버릴게 없다는 이야기가 된다...