Extensions Methods

Como utilziar Métodos de extensão - C#

Postado por Cristiano Raffi Cunha em 27 de Março, 2017

Extensions Methods é uma funcionalidade foi implementada no C# 3.0, e que pode facilitar muito a sua vida. Os Extensions Methods(Métodos de extensão), permite que você "adicione" funcionalidades em um objeto, string, int, DateTime entre outros já existentes, sem precisar modificar, recompilar ou até mesmo criar um tipo derivado, e são chamados do mesmo modo que os definidos no tipo.

Implementação e utilização

A criação de Métodos de extensão, e bem simples, basicamente ele é um método estático, que o seu primeiro parâmetro vai informar o objeto no qual vai atuar, e ele deve vir acompanhado com modificador this.

public static int ObterNumeroDeCaracteres(this string entrada)
Como exemplo eu vou criar um extension method, que obtém o dia da semana em português, de uma data qualquer passada para um DateTime.

Nesse método ObterDiaDaSemana, é passado uma data qualquer por meio de um DateTime, que chamei de data, é obtido o dia da semana como valor inteiro, e logo após e feita a busca em uma lista com os dias da semana em português utilizando como ID o valor retirado do dia da semana.

Não foi retornado diretamente o valor de DayOfWeek, pois ele retornaria o dia em inglês.

A utilização é muito fácil, a única coisa que você deve ter atenção, e a importação do namespace, no qual o método de extensão foi escrito, no meu caso, o namespace do software é ExtensionMethods, e o método de extensão ExtensionMethodsDate, foi feita apenas a importação utilizando a diretiva using para funcionar corretamente.

Mais informações sobre o assunto, você encontra na documentação da Microsoft, até a próxima.