What are delegates?

  • 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.