Code/C#

[C#] Extension Methods 샘플 코드

Hide Code 2007. 12. 2. 11:46
아래는 Extension Methods 예제이다.

LINE A는 Extension Methods를 사용했고, LINE B는 Static Method를 사용했다.

둘의 선언 방법과 사용 방법을 비교해보자.

Extension methods are static methods.
Extension methods can only be declared in static classes.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string s = "9";

int i = s.ToInt32Ext(); // LINE A
Console.WriteLine(i);

int j = EMClass.ToInt32Static(s); // LINE B
Console.WriteLine(j);
}
}

static class EMClass
{
public static int ToInt32Ext(this string s)
{
return Int32.Parse(s);
}

public static int ToInt32Static(string s)
{
return Int32.Parse(s);
}
}
}