Junior
Кои делегати познаваш?
sobes.tech AI
Отговор от AI
Основни типове делегати в .NET:
System.Delegate(абстрактен базов клас) — основа за всички делегати.System.MulticastDelegate(наследява отDelegate) — позволява делегатът да съдържа няколко метода.- Обобщени делегати в .NET Framework 3.5+:
Action— делегат без стойност за връщане (void).Action<T>...Action<T1, T2, T3, T4>— делегати с един до четири параметъра и без стойност за връщане.Func<TResult>— делегат с връщана стойност от типTResultи без параметри.Func<T, TResult>...Func<T1, T2, T3, T4, TResult>— делегати с един до четири параметъра и връщана стойност от типTResult.Predicate<T>— специален типFunc<T, bool>, който представлява метод, който определя набор от критерии и определя дали даден обект отговаря на тези критерии.
Пример за използване на Action и Func:
// Делегат Action: приема int, не връща нищо
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Ще изведе 10
// Делегат Func: приема две int, връща int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // резултат = 8
Делегатите също се използват в събития (event).