Sobes.tech
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í od Delegate) — 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 typu TResult a bez parametrů.
    • Func<T, TResult> ... Func<T1, T2, T3, T4, TResult> — delegáty s jedním až čtyřmi parametry a návratovou hodnotou typu TResult.
    • Predicate<T> — speciální typ Func<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).