Dica


C# 3.0: Extension methods

26/4/2008

Extension methods são uma ótima alternativa para estender funcionalidades de um tipo de dados. São métodos estáticos (static) de uma classe estática que se diferenciam por ter obrigatoriamente, na assinatura, o primeiro (e talvez o único) parâmetro precedido de this e com o tipo dados que se quer extender. Vejam o exemplo: 

static class Extensao

{

public static Single Dobro(this Single Obj)

{

return Obj * 2;

}

}

O método Dobro() pode ser utilizado por qualquer variável do tipo Single. “É sério!! Isso é verdade mesmo!”

Hoje, no C# 2.0, para estendermos um tipo temos que utilizar o fenômeno da herança. Mas não podemos herdar de uma struct e em .net os tipos primitivos são structs. Veja agora a extensão do tipo Single, que é uma struct, com o C# 3.0:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ExtensionMothod

{

    static class Extensao

    {

        public static Single Dobro(this Single Obj)

        {           

            return Obj * 2;

        }

    }

 

    class Program

    {

        static void Main(string[] args)

        {

            Single N = 10;           

            Console.WriteLine(N.Dobro());

        }

    }

}



Rafael Camargo da silva - rafaelcamargo_99@hotmail.com

Microsoft Student Partner Co-Lead, trabalha na fábrica de software da Politec-Goiânia, instrutor de tecnologias de desenvolvimento Microsoft na Supera Education Center. Trabalha com desenvolvimento de softwares a mais de 6 anos.




| | Mais

Comentários

Qual a sua opinião?
Faça o login no topo do site ou cadastre-se rapidamente.



2003-2009 DevGoiás.NET. Todos os direitos reservados.