Delegate is a type-safe object that can point to another method (or possibly multiple methods) in the application, which can be invoked at later time. This works as same as Pointers in C++ which takes the refrence to call the object. Delegate is used to Call the Method as a reference. For more details you can go to the following link http://www.c-sharpcorner.com/UploadFile/Ashush/Delegates02152008155757PM/Delegates.aspx