- A delegate acts like a strongly type function pointer.
- Delegates can invoke the methods that they reference without making explicit calls to those methods.
- It is type safe since it holds reference of only those methods that match its signature.
- Unlike other classes, the delegate class has a signature.
- Delegates are used to implement event programming model in .NET application.
- Delegates enable the methods that listen for an event, to be abstract.