Sobes.tech
Junior — Middle

Explique o conceito de delegados na linguagem C# e a sua principal finalidade.

sobes.tech IA

Resposta da IA

Os delegados em C# são tipos que representam referências a métodos com uma assinatura e valor de retorno específicos. Permitem armazenar e invocar métodos como objetos.

Objetivo principal dos delegados:

  • Permitem implementar callbacks
  • Proporcionam flexibilidade ao chamar métodos, por exemplo, para eventos e processamento de operações assíncronas
  • São utilizados para implementar um modelo baseado em eventos

Exemplo de delegado:

// Declaração do delegado
public delegate void Notify(string message);

class Program
{
    static void Main()
    {
        Notify notifyHandler = ShowMessage;
        notifyHandler("Olá, delegados!");
    }

    static void ShowMessage(string msg)
    {
        Console.WriteLine(msg);
    }
}

Aqui, o delegado Notify pode referenciar qualquer método que aceite uma string e não retorne nada.