Revista MSDN Magazine Edição 32 - C#(csharp) 2.0 - Métodos anônimos

Artigo Originalmente Publicado na MSDN Magazine Edição 32

 

Clique aqui para ler todos os artigos desta edição

 

 

 

C# 2.0 - Métodos anônimos

 

A versão 2.0 da linguagem de programação C# introduziu uma série de extensões, como: tipos parciais, classes estáticas, métodos anônimos, tipos e métodos genéricos (generics), iterators e tipos anuláveis. Este artigo é o segundo de uma série que tem como objetivo detalhar os novos recursos do C# 2.0. Nessa segunda parte, vamos conhecer um pouco sobre métodos anônimos.

 

Nota: Para um bom entendimento das técnicas demonstradas nessa série sobre os novos recursos do C# 2.0, é ideal que o leitor tenha pelo menos um conhecimento básico da linguagem C#.

 

O conceito de métodos anônimos está diretamente vinculado ao de delegates. Sendo assim, inicialmente, este artigo abordará delegates e, em seguida, será estendido para demonstrar o uso de métodos anônimos.

Em versões anteriores ao C# 2.0, um delegate somente poderia encapsular métodos nomeados. Quando você instancia um delegate usando um método nomeado, o método é passado como parâmetro. A criação de métodos anônimos é essencialmente uma maneira de passar um bloco de código para um parâmetro delegate.

Delegates

Um delegate é um tipo por referência usado para referenciar um método. Qualquer método que satisfaça a assinatura do delegate, que consiste do tipo de retorno e dos tipos dos parâmetros, pode ser atribuído a uma instância do mesmo.

Delegates são similares a ponteiros de função no C/C++, porém são Orientados a Objetos, tipos seguros.

 

Nota: Observe que a definição de assinatura de um delegate é diferente da assinatura de um método. A assinatura de um método consiste do nome do método e dos tipos dos parâmetros, sendo uma definição essencial para o conceito de sobrecarga de métodos.

 

Os delegates possibilitam mudanças nas chamadas de métodos programaticamente, permitindo “plugar” um novo código chamado de dentro de tipos existentes. A linguagem de programação C# utiliza delegates na declaração de eventos em um tipo.

Exemplo de uso de delegates

O exemplo a seguir possui uma implementação de um delegate e uma classe com um campo deste tipo. O exemplo é constituído por uma solução contendo dois projetos: um projeto Class Library (“RendimentoEscolar”) e outro projeto Console Application (“TesteRendimentoEscolar”), ambos em Visual C#. A Figura 1 apresenta o Solution Explorer do Visual Studio 2005.

 

" [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados