[C#] Callback, Delegate

Callback, Delegate

Callback Method

콜백 메서드란 다음과 같이 표현할 수 있습니다.

  1. 다른 함수의 인자로써 이용되는 함수.

  2. 어떤 이벤트에 의해 호출되어지는 함수.

A 라는 메서드에 B 라는 메서드를 인자로 넘겨주면서, A 메서드가 B 메서드를 특정 이벤트에서 호출하도록 한다고 가정해보겠습니다.

이 때, B 메서드가 콜백메서드가 됩니다.

델리게이트

델리게이트란 메소드를 참조하는 변수로 대리자 역할을 하는 녀석입니다. 델리게이트는 다음과 같이 사용합니다.

  1. 메소드와 동일하게 델리게이트(대리자) 선언
  2. 선언한 델리게이트 타입으로 델리게이트 변수를 생성
  3. 생성한 델리게이트 변수에 작업할 메소드를 참조

예제

namespace test{
    delegate int testDelegate(int a, int b);

    class Test{
        public static int Plus(int a, int b){ return a + b; }
        public static int Minus(int a, int b){ return a - b; }

        static void Main(string[] args){
            testDelegate dele;
            dele = new testDelegate(Plus);
            int sum = dele(11, 22);
            Console.WriteLine(sum);
        }
    }
}
  • 델리게이트를 선언하고, 델리게이트 타입으로 변수를 생성하면서 콜백함수를 참조합니다.
  • dele(11, 22) 와 같이 인자가 들어왔을 때, 델리게이트(대리자)는 콜백함수 작업을 하여 리턴합니다.

자세한 내용은 이곳 을 참조하시면 도움이 될 것입니다.

'SW > C# & WPF' 카테고리의 다른 글

[WPF] Thread와 Dispatcher를 이용한 멀티스레딩  (0) 2021.06.01
[C#] HTTP 통신  (0) 2021.06.01
[C#] 싱글톤패턴  (0) 2021.05.28
[C#] 추상클래스 & 인터페이스  (0) 2021.05.28
[C#] 비동기식 프로그래밍 TAP  (0) 2021.05.19