Usar métodos de extensión

Estos métodos permiten agregar funcionalidades especiales a los controles que se exponen en los formularios.
Para ponerlo a prueba vamos a crear tres funciones que nos van a permitir obtener el contenido de un TextBox como un valor de tipo fecha, entero y decimal.
Estos métodos puedes implementarlos en alguna de tus clases estáticas.

        /// <summary>

        /// Devuelve un valor del tipo Fecha desde el contenido de un TextBox

        /// Si el valor no es una fecha válida obtiene el valor mínimo para una fecha

        /// </summary>

        /// <param name=”txt“></param>

        /// <returns></returns>

        public static DateTime ToDate(this TextBox TextValue)

        {

            DateTime idate = DateTime.MinValue;

            DateTime.TryParse(TextValue.Text, out idate);

            return idate;

        }

 

        /// <summary>

        /// Devuelve un valor del tipo entero desde el contenido de un TextBox

        /// Si el valor no es un entero válido obtiene el valor mínimo para un entero

        /// </summary>

        /// <param name=”TextValue“>Valor entrado en el TextBox</param>

        /// <returns></returns>

        public static int ToInteger(this TextBox TextValue)

        {

            int iInt = int.MinValue;

            int.TryParse(TextValue.Text, out iInt);

            return iInt;

        }

 

        /// <summary>

        /// Devuelve un valor del tipo double desde el contenido de un TextBox

        /// Si el valor no es un double válido obtiene el valor mínimo para un double

        /// </summary>

        /// <param name=”TextValue“>Valor entrado en el TextBox</param>

        /// <returns></returns>

        public static double ToDouble(this TextBox TextValue)

        {

            double iDbl = double.MinValue;

            double.TryParse(TextValue.Text, out iDbl);

            return iDbl;

        }

Crea un formulario con el que poner a prueba tus métodos e extensión, puede ser parecido al siguiente:

En el evento clic de los botones agrega el siguiente código:

       private void button1_Click(object sender, EventArgs e)

        {

            var fecha = this.txtFecha.ToDate();

            this.lblFecha.Text = fecha.AddDays(1).ToString(“dddd, dd – MMM – yyyy”);

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            var entero = this.txtEntero.ToInteger();

            this.lblEntero.Text = (entero * 2).ToString();

        }

 

        private void button3_Click(object sender, EventArgs e)

        {

            var dbl = this.txtDouble.ToDouble();

            this.lblDouble.Text = (dbl * 2).ToString();

        }

Pon a prueba el formulario. Verás que si el valor no es correcto obtienes el valor mínimo para el tipo de dato.

Aquí un pequeño ejemplo:

Ponlo a prueba, piensa en cómo mejorarlo y comparte con nosotros tus progresos.

¿Te gustaría aprender a programar en .NET sobre AutoCAD?

Si te inscribes recibirás un cupón de descuento adicional con el que el coste del curso quedará reducido al 50%. También tendrás opción a recibir soporte técnico en programación sobre AutoCAD o Bricscad por correo electrónico sin coste.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Información básica sobre protección de datos Ver más

  • Responsable: MTB Software de Ponent, SLU.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Hostinet, SL que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Ir arriba
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad