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!

Deixe um comentário