Sobes.tech
Назад к вопросам
Junior — Middle
66

Расскажи о различных типах делегатов, которые ты знаешь

Компании, где спрашивали
Swiftfactory

Ответ от нейросети

sobes.tech AI

В C# делегаты — это типы, которые представляют ссылки на методы. Основные типы делегатов:

  • Обычные делегаты — определяются явно, могут ссылаться на методы с определённой сигнатурой.

  • Многоадресные (Multicast) делегаты — могут содержать список методов, вызываемых последовательно.

  • Action — встроенный делегат без возвращаемого значения, с параметрами от 0 до 16.

  • Func — встроенный делегат с возвращаемым значением, параметры и тип результата задаются.

  • Predicate — делегат, принимающий один параметр и возвращающий bool.

Пример обычного делегата:

public delegate void Notify(string message);

Notify notify = message => Console.WriteLine(message);
notify("Hello");

Многоадресный делегат позволяет подписывать несколько методов:

notify += AnotherMethod;