Table of Contents
C# – Extendion Method
다른 언어에서 본적이 있었나 싶은 독특한 문법이다.
클래스 메소드를 해당 클래스 외부에서 추가할 수 있는 기능이다.
Extendion Method
조건은 아래 3개이다.
(1) static class
(2) static method
(3) 첫 번째 매개변수 this 키워드
public static class StringExtensions
{
public static int ToInt32(this string s) => int.TryParse(s, out var i) ? i : 0;
}
var s = "111";
int i = s.ToInt32();
Console.WriteLine(i);
위에서 string 클래스에 메소드가 추가된 것을 확인할 수 있다.
참고로 StringExtensions 은 가독성을 위해서 클래스명+Extensions 로 하지만 기능 작동에는 아무 상관이 없으므로 아무 클래스명을 써도 된다.