[Visual Basic] Extensión de métodos

Posted on


Un método de extensión básicamente lo que permite hacer es añadir funcionalidades a clases ya existentes sin tener que utilizar herencia, ni nada semejante.

Un método de extensión debe ser necesariamente un método (sub) o una función (function), y debe ser creado dentro de un módulo. El método de extensión debe ser decorado con el atributo <Extension()> y para que este pueda ser utilizado se debe importar el namespace System.Runtime.CompilerServices.

Ahora para hacer un pequeño demo vamos a crear un método de extensión que tome un string y lo devuela en formato (para el ejemplo vamos a suponer que la cadena enviada siempre será numérica).

El método que creamos estará disponibles para el tipo de dato que le enviemos como primer parámetro a la función.

Entonces lo primero que debemos hacer es añadir un modulo, y dentro de ese modulo declaramos el método de extensión así:

   1:  <Extension()>
   2:  Public Function FormatoMoneda(ByVal sCadena As String) As String
   3:      Return Val(sCadena).ToString("$##,##0")
   4:  End Function

Como ven es una función muy sencilla que simplemente le da el formato deseado, y ahora cuando utilicemos un valor de tipo string y le demos . vamos a tener disponible la función formato moneda. Para verificar el ejemplo vamos a tener una aplicación Windows form (para que sea sencillo) con dos cajas de texto y un botón, y al idea es que cuando se de clic en el botón el número introducido en el primer textbox aparezca en el segundo pero con el formato deseado, así que el código del botón seria:

   1:  txtFormato.Text = txtOriginal.Text.FormatoMoneda()

Y una vez ejecutemos la aplicación tendremos algo como:

Imagen1

Espero les sea de utilidad.

2 comentarios sobre “[Visual Basic] Extensión de métodos

    Programación TIC escribió:
    09/03/2011 en 03:35

    Orales graxiasss julio esta muy bien estoo😀

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s