Extention Method C# 3.0 에서 추가된 기능이다.
Extention Method 를 정의하는 방법은
1. System.Linq 를 사용하겠다고 선언한다.
2. static 클래스와 static 메서드로 정의해야 한다.
3. 첫번째 파라미터에 this 라는 키워드를 사용한다.
using System.Linq; namespace test return outString; return outString; |
사용방법
string str1 = "abcd efgh";
// 기존 메서드 호출방법
// 확장 메서드 호출방법 |
기존 메서드 호출방법과 확장 메서드 호출방법을 모두 다 사용 가능하다.
확장메서드는 Visual Studio 에서 보면, 멤버 메서드와 동일하게 보여지고, 사용된다.
다른점은 오른쪽에 (확장) 이라고 표시가 된다.
배열에서의 확장메서드
// 정의 public static int[] OrderByAscending(this int[] n)
// 사용시 int[] nList = { 6, 7, 2, 7, 4, 9, 10, 11, 1 }; |
IEnumerable Generic 에도 이용할 수 있다.
// 정의 public static IEnumerable<T> GetOddData<T>(this IEnumerable<T> data)
// 사용 List<int> nList = new List<int>() { 1,2,3,4,5,6,7,8,9,10 };
foreach (int val in nList.GetOddData())
foreach (var kvValue in Dic.GetOddData()) |
이와같이 홀수번째 데이터만 모아서
IEnumerable 로 리턴하는 Extention Method 를 정의하고,
IEnumerable 에서 상속받은 List 와 Dictionary 객체에
GetOddData 메서드를 그대로 사용하는 방법이다.
'개발팁' 카테고리의 다른 글
사업자번호 유효성 검사 (1) | 2016.07.21 |
---|---|
ASP.NET MVC 에서 ViewEngine을 이용한 엑셀다운로드 방법 (0) | 2016.07.20 |
MSSQL 만나이 계산 computed column 으로 컬럼 만들기 (0) | 2016.07.17 |
jQuery Ajax호출시 로딩 이미지 표시하기 (6) | 2016.07.13 |
안드로이드 스튜디오 AVD 한글키보드 설치하기 (0) | 2016.07.11 |