Что такое делегаты в .NET?
Этот вопрос проверяет знание делегатов — мощного механизма для работы с методами как объектами в .NET.
Короткий ответ
Делегат — это объект в .NET, который определяет сигнатуру метода и может передавать функцию в качестве параметра. Делегат всегда указывает на метод с соответствующей сигнатурой.
Длинный ответ
Что такое делегат?
- Делегат в .NET — это тип данных, который представляет собой ссылку на метод. Делегат может быть использован для вызова метода, соответствующего его сигнатуре.
Как работает делегат?
- Делегат определяет сигнатуру метода (например, типы параметров и возвращаемое значение).
- Делегат можно передавать в качестве параметра или возвращать из метода.
- Когда делегат вызывается, он фактически вызывает метод, на который он ссылается.
Пример:
delegate void MyDelegate(string message);
class Program
{
static void PrintMessage(string message)
{
Console.WriteLine(message);
}
static void Main()
{
MyDelegate del = new MyDelegate(PrintMessage);
del("Hello, Delegates!");
}
}
Делегаты позволяют передавать методы как параметры, что делает код гибким и расширяемым.