Sobes.tech
Junior

Ce delegați cunoști?

sobes.tech AI

Răspuns de la AI

Tipurile principale de delegați în .NET:

  • System.Delegate (clasă abstractă de bază) — baza pentru toți delegații.
  • System.MulticastDelegate (moștenește din Delegate) — permite unui delegat să conțină mai multe metode.
  • Delegati generici în .NET Framework 3.5+:
    • Action — delegat fără valoare de retur (void).
    • Action<T> ... Action<T1, T2, T3, T4> — delegați cu unul până la patru parametri și fără valoare de retur.
    • Func<TResult> — delegat cu valoare de retur de tip TResult și fără parametri.
    • Func<T, TResult> ... Func<T1, T2, T3, T4, TResult> — delegați cu unul până la patru parametri și valoare de retur de tip TResult.
    • Predicate<T> — tip special Func<T, bool>, care reprezintă o metodă ce definește un set de criterii și determină dacă un obiect dat corespunde acestor criterii.

Exemplu de utilizare Action și Func:

// Delegat Action: acceptă un int, nu returnează nimic
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Va afișa 10

// Delegat Func: acceptă două int, returnează un int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // rezultatul = 8

Delegații sunt, de asemenea, utilizați în evenimente (event).