프로그래밍 언어/C#
확장 메서드
야식은진리다
2019. 12. 28. 13:54
확장 메서드는 기존 클래스의 기능을 확장하는 방법이다. 예를 들어 int형에 제곱 기능도 넣을 수 있다.
확장 메서드를 선언하기 위하여 필요한 조건은 다음과 같다.
1. 클래스를 static으로 수식한다.
2. 메서드를 static으로 수식한다.
3. 첫 번째 매개 변수는 반드시 this 키워드와 함께 확장하고자 하는 클래스( 형식 )이어야 한다.
다음 조건을 만족하여 int형식에 제곱 기능을 추가하는 확장 메서드를 만들어 보겠다.
1
2
3
4
5
6
7
8
9
10
11
12
|
static class IntExtension
{
public static int Power(this int a, int exponent)
{
int temp = a;
for (int i = 1; i < exponent; i++)
{
temp *= a;
}
return temp;
}
}
|
이렇게 만들어진 확장 메서드는 다음과 같이 사용하면 된다.
1
2
|
int a = 2;
Console.WriteLine(a.Power(4));
|
Power의 첫 번째 매개변수는 a가 되고 다음 매개변수에 4가 넘겨져서 a^4를 계산해준다.