No C# 3.0 e .NET 3.5 tem uma grande novidade quando queremos declarar um método, trata-se do métodos de extensão (extension methods).
Quando se usa o this (na declaração do primeiro parametro do método), nâo se passa a variável no paramentro mais sim declara antes: variável.método();
Abaixo um exemplo simples de um código:
Using Saudacao;
public class Programa
{
public class MetotoQualquer()
{
String Nome = “Túlio”;
Nome.Ola();
Console.Write(nome);
}
}
namespace Saudacao
{
public static class Saudacao
{
public static string Ola(this nome)
{
return String.Format(”Olá {0}”, nome);
}
}
}
Quando você dê o Using no namespace Saudacao você terá o método Ola() disponivel para todos os Objetos String do escopo.
Uma caracterÃstica muito importante dos métodos de extensão é que eles podem ser adicionados a tipos base. A classe object, por exemplo, pode ser estendida para ter um método qualquer e consequentemente ele estará disponÃvel para todas as outras classes do framework e da aplicação.
Discussion Area - Leave a Comment