C Sharp Rookiss Part1 기초 프로그래밍 입문 : Delegate
🙇♀️Delegate
🪐Delegate
delegate int OnClicked();
- 형식은 형식인데, 함수자체를 인자로 넘겨주는 그런 형식
- 반환: int, 입력: void
- OnClicked이 delegate의 형식 이름이다
static void ButtonPressed(OnClicked ClickFuntion/* 함수 자체를 인자로 넘겨줌 */)
{
ClickFuntion();
/* 함수 호출*/
}
함수를 인자로 받는 Delegate!
static int TestDelegate()
{
Console.WriteLine("Delegate!");
return 0;
}
함수를 만들고
ButtonPressed(TestDelegate);
- 사용
🪐내부구현
OnClicked clicked = new OnClicked(TestDelegate);
clicked += TestDelegate2;
- OnClicked 타입의 새로운 객체를 만들고 그 객체는 TestDelegate를 담고 있는것
- clicked(); 로 호출이 가능
- 체이닝이 가능함
- 체이닝은 함수를 하나만 부르는것이 아니라 여러개를 동시에 부를 수 있음
- TestDelegate2 함수를 clicked에 합칠 수 있음
static int TestDelegate2()
{
Console.WriteLine("Delegate2!");
return 0;
}
- TestDelegate2