Junior — Middle
Podes nomear os principais tipos de delegados utilizados na linguagem de programação?
sobes.tech IA
Resposta da IA
Na linguagem C#, os delegados são tipos que representam referências a métodos com uma assinatura específica. Os principais tipos de delegados:
- Delegados de destino único (Single-cast delegates) — referenciam um único método.
- Delegados multicast (Multicast delegates) — podem conter uma lista de métodos que são chamados sequencialmente.
Além disso, existem delegados genéricos padrão:
Action— um delegado que representa um método sem valor de retorno e com 0 ou mais parâmetros.Func<TResult>eFunc<T1, TResult>e outros — delegados que retornam um valor e podem aceitar parâmetros.Predicate<T>— um delegado que aceita um parâmetro e retorna umbool.
Exemplo de declaração e uso de um delegado:
public delegate int Operation(int x, int y);
Operation add = (a, b) => a + b;
int result = add(3, 4); // 7
Delegado multicast:
Operation op = add;
op += (a, b) => a * b;
foreach (Operation del in op.GetInvocationList()) {
Console.WriteLine(del(3, 4));
}
Assim, os principais tipos de delegados são: de destino único, multicast, bem como os delegados genéricos padrão Action, Func e Predicate.