
[C#] delegate (델리게이트 / 대리자)와 Invoke
·
언어/C#
마이크로소프트에서는 delegate를 '특정 매개 변수 목록 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식'이라고 소개한다. 맞는 말이기는 한데 글로만 봐서는 delegate를 왜 사용하는지 전혀 알 수가 없다. delegate를 직접 사용하면서 함께 알아보자. delegate는 메서드를 다른 메서드에 인수로 전달하는 용도다. 특히 함수 자체를 인수로 전달할 수도 있다. using System; namespace Study { delegate void Test(); // Test는 함수가 아니라 '형식'임. 함수 자체를 인자로 넘겨주는 형식. class Program { static void Button(Test testFunc) { testFunc(); // testFunc 함수 실행 } s..