Páginas

domingo, 7 de novembro de 2010

Criando um Método de Extensão utilizando o C#

Olá pessoal apaixonado por DOTNET...

Neste artigo irei fazer uma demonstração de como criar um método de extensão utilizando a linguagem C#.
Os métodos de extensão foram implementados a partir do C# 3.0, eles são um tipo especial de métodos estáticos. Eles permitem adicionar métodos a tipos existentes sem criar um novo tipo derivado ou ter que alterar diretamente as classes que utilizarão o mesmo, ou seja, adicionar novas funcionalidades.
Irei fazer um exemplo bem simples somente para demonstração de como criar o método estático para retirar a máscara de um CPF digitado pelo usuário do sistema. Para isso utilizarei o Visual Studio 2010, mas você pode utilizar também a versão 2008 do mesmo.
Abra o seu Visual Studio e vá no menu File, clique em New/Project/ASP.NET Web Application;























Clique em OK;

Um novo projeto Web será criado...


  
 Para nosso exemplo, irei separar a nossa classe que conterá o(s) método(s) de extensão. Para isso clique com o botão direito do mouse no Solution de seu projeto criado, em seguida em Add/New/Project/Class Library;




Colocarei o nome de minha Classe  como UteisBO, para os que ainda não conhecem, BO(Business Object) se trata da classe responsável pela(s) regra(s) de negócio de nosso projeto.

Clique no botão OK.





 Será criado um novo projeto em seu Solution contendo uma classe criada automaticamente.



Para poder criar um Método de Extensão sua classe deve ser estática para poder ser utilizada por outra classe sem a necessidade de ser instanciada. Aproveite e renomeie a classe para Uteis.

Abaixo, Observe nosso método de extensão criado para retirar a máscara de um número de CPF informado.



É um método bem simples, somente para demonstrar como criar um método de extensão.

Observem que na sua declaração também contém a clausula ‘static’ e também a palavra reservada ‘this’, que  neste caso irá indicar que o objeto que chamará este nosso método irá receber as alterações que serão executadas no mesmo. No caso, a retirada da máscara de CPF.

Também reparem que eu utilizo o Regex, que é uma classe especializada para manipular expressões regulares no C#. Aprofundaremos em Expressões regularem em um futuro artigo.

Agora que criamos nosso Método de Extensão vamos fazer a chamada dele em nossa página, para demonstração. Lembrando que este projeto é somente para demonstração de como criar um método de extensão e por isso não iremos fazer todas aquelas formatações em nossa página e nem adicionar outras funcionalidades.

Para poder utilizar o nosso método que se encontra em uma classe de outro projeto, primeiro precisamos fazer referencia ao nosso projeto que contem o método.

Clique com o botão auxiliar no nosso projeto Web RetiraMascaraCPF, logo após clique em Add Reference..




Clique na aba Projects e após isso selecione o nosso projeto UteisBO




Clique em OK, e pronto, sua referencia ao projeto UteisBO foi adicionada ao projeto RetiraMascaraCPF como mostra abaixo.




Agora abra a página Default.aspx.cs do seu projeto RetiraMascaraCPF.




Após abrir sua página, primeiro vamos adicionar uma diretiva using apontando para o nosso projeto que contém a classe que contém o nosso método de extensão.




Agora, no Próprio Page_Load, crie criarei uma variável que conterá o nosso CPF com a máscara.




Agora vamos criar uma outra variável que conterá o nosso CPF sem a máscara. Repare que iremos adicionar como valor à nossa variável cpfSemMascara a variável cpfComMascara, sendo implementado o nosso método de extensão para retirar a mascara de nosso valor fornecido na variável.



.
Pronto, o nosso método de extensão foi implementado. Para visualizar o resultado vamos escrever o valor na tela utilizando o Response.Write























Antes de executar o nosso projeto selecione o projeto RetiraMascaraCPF como inicial e depois a página Default.aspx como inicial. Clicando respectivamente com o botão direito do mouse em Set as StartUp Project e Set As Start Page.























Agora pressione Ctrl+Shift+B para compilar a nossa aplicação e depois, em fim, clique em F5 para executar.























Pronto. Nosso resultado foi alcançado com sucesso, criar e implementar um método de extensão.

Só gostaria de ressaltar que este foi um mero exemplo de como criar um método de extensão de que antes de implementarmos o mesmo em nossos projetos devemos primeiro fazer uma analise de sua necessidade, pois no caso de uma rotina por exemplo para retirar uma máscara de um CPF em uma aplicação Web poderíamos utilizar uma função no Cliente por meio de JavaScript ou JQuery que tornaria a aplicação mais rápida.

 Neste exemplo utilizei o exemplo de retirada de uma máscara somente para ficar mais didático e fácil de entender os Métodos de Extensão.

Bem pessoal e isso ai. Espero que tenham gostado e até logo!!!


Nenhum comentário:

Postar um comentário