Overview
How do I create a delegate in C#?
Delegate Type Declaration in C#
public delegate void MessageHandler(string message);
public delegate int CountDaysHandler(CountMethod method, DateTime startDate, DateTime endDate)
Delegate Method Definition in C#
public void HandleMessage(string message)
{
}
public int CountDays(CountMethod method, DateTime startDate, DateTime endDate)
{
return -1;
}
public class MyClass
{
public event MessageHandler OnMessage;
}
Instantiate and Assign the Delegate
private MessageHandler _MyMessageHandler = new MessageHandler(HandleMessage);
private CountDaysHandler _MyCounter = new CountDaysHandler(CountDays);
MyClass.OnMessage += new MessageHandler(HandleMessage);
MyClass.OnMessage -= new MesageHandler(HandleMessage);
Delegate[] delegateList = OnMessage.GetInvocationList();
foreach (Delegate d in delegateList)
{
} Back to Top