Os métodos de Extensão permitem adicionar métodos a tipos já existentes sem precisar criar um tipo derivado, ou até mesmo modificar o já existente.

Uns dos exemplos que podemos ver são o operadores de consulta LINQ, que utilizam essa nova funcionalidade.

Os métodos de extensão são definidos como estáticos mas são chamados como se fossem métodos da instância.

Extensao.class:

using System.Globalization;

namespace ExtensionMethods
{
    public static class Extensao
    {
        public static string letraMaiscula(this String str)
        {
	    TextInfo ti = new CultureInfo("en-US",false).TextInfo;	
                 return   ti.ToTitleCase(str);
        }
    }   
}

Principal.class:

using ExtensionMethods;

public static void Main()  {

	String teste = "hello world";
	Console.WriteLine("{0}", teste.letraMaiscula( teste ) );
	
}


Output:
Hello World

Anúncios