Callback, Delegate
Callback Method
콜백 메서드란 다음과 같이 표현할 수 있습니다.
다른 함수의 인자로써 이용되는 함수.
어떤 이벤트에 의해 호출되어지는 함수.
A 라는 메서드에 B 라는 메서드를 인자로 넘겨주면서, A 메서드가 B 메서드를 특정 이벤트에서 호출하도록 한다고 가정해보겠습니다.
이 때, B 메서드가 콜백메서드가 됩니다.
델리게이트
델리게이트란 메소드를 참조하는 변수로 대리자
역할을 하는 녀석입니다. 델리게이트는 다음과 같이 사용합니다.
- 메소드와 동일하게 델리게이트(대리자) 선언
- 선언한 델리게이트 타입으로 델리게이트 변수를 생성
- 생성한 델리게이트 변수에 작업할 메소드를 참조
예제
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 |
Comment