Junior — Middle
Explique a finalidade e o funcionamento dos delegados no contexto da programação em C#.
sobes.tech IA
Resposta da IA
Os delegados em C# são tipos que representam referências a métodos com uma assinatura específica. Eles permitem chamar métodos de forma indireta, passá-los como parâmetros e implementar callbacks.
Pontos principais:
- Um delegado define a assinatura de um método (tipos de parâmetros e valor de retorno).
- Pode-se atribuir qualquer método com uma assinatura compatível a um delegado.
- Permitem implementar eventos e o padrão observador.
Exemplo:
public delegate void Notify(string message);
public class Process
{
public Notify OnCompleted;
public void Start()
{
// ... trabalho
OnCompleted?.Invoke("Processo concluído");
}
}
Aqui, o delegado Notify é usado para notificar a conclusão do processo.