Explorando .NET Framework 2.0 e 3.5 – Parte 10 0
jul9
Extension Methods são métodos adicionais que são definidos para complementar as funcionalidades dos tipos base. Permitem adicionar novos métodos aos tipos existentes na CLR sem ter que recorrer ao sub-classing ou à recompilação do tipo original. Desta forma podemos incrementar o âmbito funcional de tipos base de uma forma extremamente prática. Existem algumas diferenças para a definição de Extension Methods nas linguagens VB.NET e Visual C#:
- VB.NET
- Devem obrigatoriamente ser definidos dentro de um módulo com o atributo ExtensionAttribute que fica localizado dentro do namespace System.Runtime.CompilerServices (System.Core.dll).
- C#.NET
- Devem obrigatoriamente ser definidos dentro de uma classe estática e não precisa de nenhum atributo definido;
- O tipo a estender é antecedido pela keyword this para indicar ao compilador que o método deve ser adicionado aos métodos do tipo Extension Methods.
Na prática
public static class Helper
{
public static bool IsValidEmail(this string value)
{
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
return regex.IsMatch(value);
}
}
public static void Main(string[] args)
{
string email = "vrevers@dominio.com.br";
Console.WriteLine(email.IsValidEmail());
}
Espero que tenham gostado!!!
subscreva os comentários RSS
Não existem comentários para este post