| Reference | Beginner | Data Types | Events | C# |
OverviewHow 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)
{
} |
|