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 dinDelegate) — 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 tipTResultș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 tipTResult.Predicate<T>— tip specialFunc<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).