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.