Sobes.tech
Junior

Akých delegátov poznáš?

sobes.tech AI

Odpoveď od 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).