Extension methods, um recurso fantástico do .Net C#!

Apesar de programar em c# já alguns anos, faz pouco tempo que venho utilizando um fantástico recurso da linguagem. Estou falando de extension methods (metodos de extensão). Com esse recurso é possível incorporar à um Type novos comportamentos mesmo que estejam em um assemble, não é necessário recompilar a classe. Isso é possível através de métodos especiais static, apenas acrescentando a palavra reservada this seguida de um parâmetro do tipo que deseja modificar. Na prática ficaria assim:

Imagine que gostaria de ter um método ToGuid() em um objeto tipo string.

var objeto = "e7c69d65-ce35-4eb4-b5a3-db245a028b9d";

var novoGuid = objeto.ToGuid();

Com metodos de extensão ficaria assim:

    public static class ConvertHelper
    {
        public static Guid ToGuid(this String o)
        {
            return new Guid(o);
        }
    }

Isso bastaria para adicionar o comportamento ToGuid() ao tipo string!

.. Tudo bem, admito que este exemplo é bem simples, não teria muita utilizade na prática, mais
é so mesmo pra demonstrar esse recurso da nossa linguagem..

Até a próxima!

Anúncios

Deixe um comentário

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