C#에서 델리게이트는 메서드를 참조할 수 있는 타입입니다. 멀티캐스트 델리게이트는 여러 메서드를 하나의 델리게이트 변수에 연결하여 순차적으로 호출할 수 있도록 해줍니다.
1. 멀티캐스트 델리게이트란?
멀티캐스트 델리게이트는 델리게이트 체인을 형성해서 여러 메서드를 등록합니다. 델리게이트의 Invoke 메서드를 호출하면 연결된 모든 메서드가 순서대로 실행됩니다.
2. 동작 원리
내부적으로 멀티캐스트 델리게이트는 메서드 리스트를 저장합니다. += 연산자를 사용해 메서드를 추가하고, -= 연산자로 제거합니다. 실행 시 등록된 메서드들을 순서대로 호출하며, 반환값이 있으면 마지막 메서드의 반환값이 최종 결과가 됩니다.
3. 예제 코드
delegate void Notify(string message);
class Program
{
static void Main()
{
Notify notify = Alert;
notify += Log;
notify("멀티캐스트 델리게이트 호출");
}
static void Alert(string message)
{
Console.WriteLine("Alert: " + message);
}
static void Log(string message)
{
Console.WriteLine("Log: " + message);
}
}
위 코드에서 notify 델리게이트는 Alert와 Log 두 메서드를 참조합니다. notify("메시지") 호출 시 두 메서드가 순서대로 실행됩니다.
'C#' 카테고리의 다른 글
| C# BinaryFormatter 대체 Serialization 방법 (0) | 2026.04.27 |
|---|---|
| C# 주석과 문서화 XML 주석 활용 (0) | 2026.04.25 |
| C# InternalsVisibleTo로 어셈블리 간 접근 제어 (1) | 2026.04.24 |
| C# global using 지시문 활용 (0) | 2026.04.23 |
| C# 커스텀 예외(Custom Exception) 설계 (0) | 2026.04.23 |