Junior
Koje delegate poznaješ?
sobes.tech АИ
Одговор од АИ
Glavne vrste delegata u .NET:
System.Delegate(apstraktna osnovna klasa) — osnova za sve delegatne tipove.System.MulticastDelegate(nasleđuje odDelegate) — omogućava delegatu da sadrži više metoda.- Generički delegati u .NET Framework 3.5+:
Action— delegat bez povratne vrednosti (void).Action<T>...Action<T1, T2, T3, T4>— delegati sa jednim do četiri parametra i bez povratne vrednosti.Func<TResult>— delegat sa povratnom vrednošću tipaTResulti bez parametara.Func<T, TResult>...Func<T1, T2, T3, T4, TResult>— delegati sa jednim do četiri parametra i povratnom vrednošću tipaTResult.Predicate<T>— poseban tipFunc<T, bool>, koji predstavlja metodu koja definiše skup kriterijuma i određuje da li dati objekat ispunjava te kriterijume.
Primer korišćenja Action i Func:
// Delegat Action: prima int, ne vraća ništa
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Ispisuje 10
// Delegat Func: prima dva int, vraća int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // rezultat = 8
Delegati se takođe koriste u događajima (event).