C# - 예제 간단 설명
① Delegate type 은 형식의 반환 값, 파라미터 등을 지정하여 인스턴스를 호출할 수 있는 메서드를 정의한 것입니다.
② 주로 함수의 대리자 역할을 하며, 특정 함수를 캡슐화해서 사용할 수 있게 해주는 것으로 이해하시면 됩니다.
③ 하단은 주로 사용하는 제네릭 Delegate 형식에 관한 간단한 예제입니다.
C# - Generic & Deligate 예제 소스
원본코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | using System; using System.Collections.Generic; delegate T NumberChanger<T>(T n); namespace GenericDelegateAppl { class TestDelegate { static int num = 10; public static int AddNum(int p) { num += p; return num; } public static int MultNum(int q) { num *= q; return num; } public static int getNum() { return num; } static void Main(string[] args) { //delegate 오브젝트 생성 NumberChanger<int> nc1 = new NumberChanger<int>(AddNum); NumberChanger<int> nc2 = new NumberChanger<int>(MultNum); //delegate 오브젝트 사용 nc1(25); Console.WriteLine("Value of Num: {0}", getNum()); nc2(5); Console.WriteLine("Value of Num: {0}", getNum()); Console.ReadKey(); } } } | cs |
실행화면
'언어 > C#' 카테고리의 다른 글
C#- 스택(Stack) 클래스 기본 구현 사용 및 예제 (0) | 2018.06.14 |
---|---|
C#- 문자열(String)을 날짜(DateTime) 형식으로 변환 (2) | 2018.01.27 |
C# - 문자열(String) 에서 숫자만 추출 하기 (0) | 2017.09.18 |
C# - 바이트(Byte) 배열 병합(합치기) 팁 및 주의 할 점 (0) | 2017.09.17 |