08 – Métodos de Extensão


Quando você precisa adicionar um novo método numa classe existente no C# em que não é possível modificá-la, entram aí os métodos de extensão, pois com eles, não é preciso alterar determinar classe e nem criar um novo tipo de dados, porque numa classe do C# já existente é possível adicionar um método de extensão como se fosse nativo da própria classe.

fonte: https://mastigado.wordpress.com

No caso do código abaixo, será criada uma classe que inverte as strings de uma palavra e para incluir um método de extensão em uma classe, basta apenas incluir “this string nome_da_variavel” nos parâmestros formais da assinatura do método. Vale lembrar que pode ser int, float, etc, no lugar de string, pois varia conforme você quer criar o seu método.


namespace ConsoleApplication
{
    static class StringExtensions
    {
        public static string Reverter(this string texto)
        {
            string resultado = string.Empty;
            for (int i = texto.Length - 1; i >= 0; i--)
            {
                resultado += texto[i];
            }
            return resultado;
        }
    }
}

Na classe principal abaixo, a chamada para o novo método que compõe a classe string do C#. Repare que nem é preciso chamar classe alguma, pois só o fato de a variável texto ter sido declada como string já faz com que este método possa ser invocado.


namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string texto = "teste";
            var reverso = texto.Reverter();
        }
    }
}

Este e outros exemplos foram baseados nas aulas do professor André Pires.

fonte: https://mastigado.wordpress.com

Sobre Mastigado
Sou um daqueles que precisa mudar o mundo.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: