Delegate (CLI)
Delegate (CLI)
Main page

Delegate (CLI)

logo
Community Hub0 subscribers
What are your thoughts?
Be the first to start a discussion here.
Be the first to start a discussion here.
Delegate (CLI)

A delegate is a form of type-safe function pointer used by the Common Language Infrastructure (CLI). Delegates specify a method to call and optionally an object to call the method on. Delegates are used, among other things, to implement callbacks and event listeners. A delegate object encapsulates a reference to a method. The delegate object can then be passed to code that can call the referenced method, without having to know at compile time which method will be invoked.

A multicast delegate is a delegate that points to several methods. Multicast delegation is a mechanism that provides functionality to execute more than one method. There is a list of delegates maintained internally, and when the multicast delegate is invoked, the list of delegates is executed.

In C#, delegates are often used to implement callbacks in event driven programming. For example, a delegate may be used to indicate which method should be called when the user clicks on some button. Delegates allow the programmer to notify several methods that an event has occurred.

Code to declare a delegate type, named SendMessageDelegate, which takes a Message as a parameter and returns void:

Code to define a method that takes an instantiated delegate as its argument:

The implemented method that runs when the delegate is called:

Code to call the SendMessage method, passing an instantiated delegate as an argument:

A delegate variable calls the associated method and is called as follows:

See all
User Avatar
No comments yet.