반응형
using System; using System.Collections.Generic; using System.Text; // 델리게이트 // C/C++에서 사용된 함수포인터 !! // C#에서는 포인터 개념을 사용하지 않기때문에 .. // 메소드에 대한 참조를 델리게이트 !! // 이벤트 처리기 --> 콜백함수 // --> 실행 시간에 동적으로 호출할 메서드 처리를 위해 사용 !!! // 함수포인터와 델리게이트의 차이점 !! // --> 대리자는 객체 !! // --> 동적바인딩을 위해 지원한다 !! // 동적 바인딩 ?? // 실행시간에 어떤 함수가 호출되어야 할지를 결정하는 기법 !! namespace 델리게이트 { class Program { // 1. static 메소드 // 2. 인스턴스 메소드 // 3. 다른 딜리게이트 public delegate void MyDelegate(); static public void foo() { Console.WriteLine("foo() "); } static public void goo() { Console.WriteLine("goo() "); } static void Main(string[] args) { MyDelegate md; Random rand = new Random(2); for (int i = 0; i < 10; i++) { if ((rand.Next() % 2) == 0) md = new MyDelegate(Program.foo); else md = new MyDelegate(Program.goo); md(); } } } }
'C#' 카테고리의 다른 글
[C#] 상속 (0) | 2014.11.18 |
---|---|
[C#] 배열 (0) | 2014.11.18 |
[C#] C#에서 제공하는 기본 타입들 (0) | 2014.11.18 |
[C#] C# 언어의 특징 (0) | 2014.11.18 |
[C#] C# 객체 지향 프로그래밍!! (0) | 2014.11.18 |