Junior
Que delegados conheces?
sobes.tech IA
Resposta da IA
Os principais tipos de delegados no .NET:
System.Delegate(classe abstrata base) — a base para todos os delegados.System.MulticastDelegate(herda deDelegate) — permite que um delegado contenha vários métodos.- Delegados genéricos no .NET Framework 3.5+:
Action— delegado sem valor de retorno (void).Action<T>...Action<T1, T2, T3, T4>— delegados com um a quatro parâmetros e sem valor de retorno.Func<TResult>— delegado com valor de retorno do tipoTResulte sem parâmetros.Func<T, TResult>...Func<T1, T2, T3, T4, TResult>— delegados com um a quatro parâmetros e valor de retorno do tipoTResult.Predicate<T>— tipo especialFunc<T, bool>, que representa um método que define um conjunto de critérios e determina se um objeto dado atende a esses critérios.
Exemplo de uso de Action e Func:
// Delegado Action: aceita um int, não retorna nada
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Vai imprimir 10
// Delegado Func: aceita dois int, retorna um int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // result = 8
Delegados também são usados em eventos (event).