You get a bonus - 1 coin for daily activity. Now you have 1 coin

Delegate (programming)

Lecture



Delegate (English delegate) - a data structure that points to methods (static or class instance) in the .NET Framework [1] [2] [3] [4].

Delegates are used, in particular, to define a prototype callback function, for example, in the .NET Framework event model.

Description
From the declaration of the delegate type, the compiler generates a class derived from System.MulticastDelegate. Thus, the signature of a function that takes a delegate as an argument might look like this:

public MyFunction (Delegate anotherFunction);
An additional feature of delegates is that they can be called asynchronously using the BeginInvoke () method. In this case, a free one is selected in the thread pool and the specified function is executed in parallel in its context. It is worth noting, however, that the number of threads in the pool is limited (there are 25 in the current implementation of .NET), and other calls will wait for their turn.

Example of declaring and using a delegate
using System;

// Delegate declaration
delegate void MyDelegate (string a);

class DelegateExample
{
static void Func (string param)
{
Console.WriteLine ("The function was called with parameter {0}.", Param);
}

public static void Main ()
{
// Create delegate instance
MyDelegate f = new MyDelegate (Func);
// function call
f ("hello");
}
}
The example outputs to the console the string "The function was called with the hello parameter.".

created: 2015-05-30
updated: 2026-03-09
344



Was this answer useful?
Choose a quick rating so we can improve the next answer for you.
How satisfied are you?


Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Object oriented programming"

Terms: Object oriented programming