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 delegate int pular(int i);

public static void Main()
{
pular p = new pular(pulo);

int valorFinalDoPulo = p(500);      // Retorna 600
}

public static int pulo(int i)
{
Return i+100;
}

Aplicação com método anonimo

public delegate void pular(int i);

public static void Main()
{
pular p1 = delegate(int i)
      {
            return i+100;
};

int valorFinalDoPulo = p(500);      // Retorna 600
}

Nenhum comentário:

Postar um comentário