O que são Delegates, em .NET ?

Criação de Delegates

Os delegates são ponteiros definidos formalmente, em aplicações .NET.  Os delegates definem os protótipos de métodos que são válidos para sua implementação. Quando um delegate em específico for utilizado é necessário que seja associado a ele um método que tenha um protótipo equivalente ao definido.
Exemplo de protótipo, ou assinatura de método:

Int somar(int i, int j);
String fazer(string j, Double k);
Os delegates utilizam métodos que tenham uma implementação segundo um protótipo pré-definido. Esta implementação pode já existir ou ser criada na definição de um delegate. Quando utiliza-se um método já existente, chama-se de método nomeado; quando cria-se a implementação na chamada do delegate, chama-se de método anônimo.

Aplicação com método nomeado

Os métodos nomeados são semelhantes a chamadas de ponteiros para métodos utilizados em linguagens como C.
public delegateint pular(int i);
public staticvoid Main()
{
pular p = new pular(pulo);
int valorFinalDoPulo = p(500);      // Retorna 600
}
publicstatic intpulo(int i)
{
Return i+100;
}

Aplicação com método anonimo

public delegatevoid pular(int i);
public staticvoid Main()
{
pular p1 = delegate(int i)
      {
            return i+100;
};
int valorFinalDoPulo = p(500);      // Retorna 600
}

Thiago Anselme
Thiago Anselme - Gerente de TI - Arquiteto de Soluções

Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.

Deixe um comentário