Junior — Middle
Разкажи ми за различните типове делегати, които знаеш
sobes.tech AI
Отговор от 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;