Junior
Quali delegati conosci?
sobes.tech AI
Risposta dell'AI
I principali tipi di delegati in .NET:
System.Delegate(classe astratta di base) — la base per tutti i delegati.System.MulticastDelegate(eredita daDelegate) — consente a un delegato di contenere più metodi.- Delegati generici in .NET Framework 3.5+:
Action— delegato senza valore di ritorno (void).Action<T>...Action<T1, T2, T3, T4>— delegati con uno a quattro parametri e senza valore di ritorno.Func<TResult>— delegato con valore di ritorno del tipoTResulte senza parametri.Func<T, TResult>...Func<T1, T2, T3, T4, TResult>— delegati con uno a quattro parametri e valore di ritorno del tipoTResult.Predicate<T>— tipo specialeFunc<T, bool>, che rappresenta un metodo che definisce un insieme di criteri e determina se un oggetto dato soddisfa tali criteri.
Esempio di utilizzo di Action e Func:
// Delegato Action: accetta un int, non restituisce nulla
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Stampa 10
// Delegato Func: accetta due int, restituisce un int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // risultato = 8
I delegati sono anche usati negli eventi (event).