Sobes.tech
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.