i) Delegate is a function pointer.
ii) It allows the programmer to encapsulate a reference to a method inside a delegate object.
iii)Delegates are type-safe and secure.
iv) Delegates are created at run time.