Definition - What does Delegate mean?
A delegate is an object-oriented, managed, secure and type-safe function pointer in the .NET framework. A delegate signature includes its name, return type and arguments passed to it. Rather than passing data, a delegate passes a method to another method. Delegates are used in many contexts, including implementing callbacks and event handlers, entry thread points and multiple types of method specifications. Because a delegate does not know the class of a referenced object, it is used for anonymous invocation.
Techopedia explains Delegate
Delegate types are:
- Single-cast: Points to a single method
- Multicast: Refers to multiple methods, each with the same signature and only includes methods returning void to avoid exception during runtime
- They execute under caller, versus declarer, permissions.
- Delegate objects are immutable.
- Its default access modifier is private (internal) or public.
- A delegate may be used after instantiation only.
- Delegates may be declared as nested types with accessibility modifiers for their containing class or struct. In the event of failure during delegate method execution, the thrown exception is passed back to the delegate's caller, and further invocations are stopped.