Cuando estamos desarrollando nuestro propio framework para utilizarlo en nuestros proyectos, generalmente creamos una clase "Utilitarios" en la cual programos métodos que nos servirán de mucho en el desarrollo, métodos del tipo "shared" (si utilizas vb.net y "static" en C#)
Esto "nos ayudaba" a utilizar aquél método sin necesidad de crearnos un objeto de la clase a la cual pertenece, es decir, poder llamarlo directamente desde otros lugares. Pero, por qué digo "nos ayudaba"? Porque felizmente están los "Extensions Methods".
Métodos de Extensión
Nos permiten agregar métodos a las clases existentes de .NET Framework o a nuestras propias clases.
Ejemplo
Nos creamos nuestro módulo (en VB.NET 2008/2010) que se llame "Extensiones". A ese módulo le importamos System.Runtime.CompilerServices para extender los métodos. Mi método de ejemplo es el siguiente:
Imports System.Runtime.CompilerServices Imports System.Text.RegularExpressions Module Extensiones_ Public Function hasEspecialCharacters(ByVal input As String) As Boolean If Regex.IsMatch(input, "^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ]+$") Then Return False Else Return True End If End Function End Module
El método del ejemplo valida dada una entrada si ésta tiene caracteres especiales, devuelve true si los tiene, false si no los tiene. También tuve que importar RegularExpressions para que el ejemplo me funcione.
No te olvides escribir "<Extension()> _" antes de la firma de tu método. (Sólo ahí, el que aparece luego al final del módulo como se ve en el ejemplo es solo por el intérprete html de blogspot jeje, ignóralo.)
Luego, la llamada sería así:
HaPPy CoDiNg
No comments:
Post a Comment