Sobes.tech
Junior — Middle

Pode explicar o conceito de delegados e o seu papel na programação?

sobes.tech IA

Resposta da IA

Os delegados em C# são tipos que representam referências a métodos com uma assinatura e um tipo de retorno específicos. Permitem passar métodos como parâmetros, armazená-los em variáveis e chamá-los dinamicamente.

Papel dos delegados:

  • Permitem implementar callbacks.
  • São usados para eventos e manipulação de eventos.
  • Proporcionam flexibilidade e extensibilidade ao código.

Exemplo de uso de um delegado:

// Declaração de um delegado
public delegate int Operation(int x, int y);

class Program
{
    static int Add(int a, int b) => a + b;
    static int Multiply(int a, int b) => a * b;

    static void Main()
    {
        Operation op = Add;
        Console.WriteLine(op(3, 4)); // 7

        op = Multiply;
        Console.WriteLine(op(3, 4)); // 12
    }
}

Dessa forma, os delegados permitem escolher e invocar métodos de forma dinâmica.