Deligates in C#

What is a Delegate in C#?
Delegate which holds the method(s) reference in an object. It is also provide features of type safe function pointer.
Delegate  Provide following Advantages
  • Using Deligate programmer can Encapsulate the property and attribute of method's call from caller.
  • By using delegate improves the performance of application.
  • By using deligate programmer can call method asynchronously.