컴퓨터/C#

C# Delegate 예제

Begi 2020. 4. 24. 20:39
반응형

Delegate (데리게이트)는 대리자라는 뜻으로 C의 함수 포인터와 비슷하다. 함수 포인터를 사용하여 함수의 인자로 함수 포인터를 전달하듯이 Delegate로 함수를 전달할 수 있다.

 

Delegate를 사용하는 방법은 다음과 같다.

1. Del이라는 Delegate을 선언한다.

2. 전달한 함수 Fun1을 만든다.

3. Delegate 생성

4. 함수를 전달 받는 함수 Fun2를 만든다.

5. 함수 Fun1을 Fun2의 인자로 전달한다.

 

 // 1.선언
 public delegate void Del(string text);


 // 2.함수 생성
 public static void Fun1(string text)
 {
   Console.WriteLine(text);
 }


 // 3.Delegate 생성
 Del h = Fun1;


 // 4.함수를 전달받는 함수
 public static void Fun2(Del f)
 {
   f("Hello");
 }


 // 5.함수 인자로 함수 전달
 Fun2(h)


 // 6.다음과 같이 사용도 가능
 h("Yes");

 

반응형