Junior
Jaké delegáty znáš?
sobes.tech AI
Odpověď od AI
Hlavní typy delegátů v .NET:
System.Delegate(abstraktní základní třída) — základ pro všechny delegáty.System.MulticastDelegate(dědí odDelegate) — umožňuje, aby delegát obsahoval více metod.- Obecné delegáty v .NET Framework 3.5+:
Action— delegát bez návratové hodnoty (void).Action<T>...Action<T1, T2, T3, T4>— delegáty s jedním až čtyřmi parametry a bez návratové hodnoty.Func<TResult>— delegát s návratovou hodnotou typuTResulta bez parametrů.Func<T, TResult>...Func<T1, T2, T3, T4, TResult>— delegáty s jedním až čtyřmi parametry a návratovou hodnotou typuTResult.Predicate<T>— speciální typFunc<T, bool>, který představuje metodu, jež definuje sadu kritérií a určuje, zda daný objekt splňuje tato kritéria.
Příklad použití Action a Func:
// Delegát Action: přijímá int, nic nevrací
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Vytiskne 10
// Delegát Func: přijímá dva int, vrací int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // výsledek = 8
Delegáty jsou také používány v událostech (event).