sábado, 3 de março de 2012

delegate (C#)

O delegate é um dos recursos pertencentes ao Visual Basic .NET, um delegate é um tipo que faz referência a um método e permite a você controlar o código que atualmente manipula um evento. (Como um evento Change, Click, Load, etc.).

Um delegate é então uma classe que pode manipular uma referência, um método. Ao fazer isto, estamos 'delegando' o evento. Uma classe delegada possui uma assinatura e somente será capaz de armazenar referências para procedimentos que têm a mesma assinatura (tipos de parâmetros, tipos de retorno). Isto reforça a segurança e evita que você faça uma referência a uma rotina inválida.

Uma vez que um delegate é atribuído a um método, ele se comporta exatamente como esse método. O método delegate pode ser usado como qualquer outro método, com parâmetros e um valor de retorno, como neste exemplo:

public delegate int PerformCalculation(int x, int y);

Esta capacidade para se referir a um método como um parâmetro torna o delegate ideal para a definição de métodos de retorno.

Propriedades do delegates:
  • São semelhantes a função ponteiros no C ++ , mas seguros;
  • Permite que os métodos sejam passados ​​como parâmetros;
  • Podem ser usados ​​para definir métodos de retorno;
  • Podem ser encadeados, por exemplo, vários métodos podem ser chamados em um único evento;
  • Não precisa coincidir exatamente com a assinatura do método;
  • A versão  C # 2.0 introduz o conceito de métodos anônimos, que permitem que blocos de código sejam passados ​​como parâmetros no lugar de um método definido separadamente.


Anonymous Delegate method


Fontes:
http://msdn.microsoft.com/en-us/library
http://www.c-sharpcorner.com/UploadFile/puranindia/C-Sharp-net-delegates-and-events/

Um comentário:

Prof Romualdo Rubens de Freitas disse...

Você apresentou um 'delegate' anônimo e as outras duas formas ???

Postar um comentário

 
;