Tutorial ASP.NET: Estructura de clases y objetos
Muchas veces necesitamos reutilizar código en nuestros proyectos, utilizar la misma funcionalidad en varias partes diferentes de nuestro proyecto. La solución a este problema es introducir código en la carpeta App_Code donde podemos crear clases con métodos que pueden utilizarse desde todo el proyecto y se compila en tiempo de ejecución.
La carpeta App_Code
puede contener todos los archivos y subcarpetas que necesitemos. Se Puede organizar el código fuente de la forma que creamos más conveniente, ya que ASP.NET lo compilará en un solo ensamblado al que podrá tener acceso el código de cualquier parte de la aplicación Web.
Código compartido
En los ejemplos anteriores tuvimos la necesidad de contar con código compartido. Por ejemplo, el método IsNumeric
lo utilizamos en el Capítulo 7: Controles de usuarios reutilizables y en el Capítulo 11: Acceso a datos(consultar y guardar información desde WebForms).
- Estructura de una clase: Una clase está compuesta por Atributos, Propiedades, Métodos y Eventos. Aunque no necesariamente deba tener todos sus componentes declarados. Podemos crear clases que sólo tengan métodos o que sólo tengan atributos y propiedades.
- Ejemplo de una clase básica: El primer evento de nuestra clase va a ser el constructor, al instanciar la clase (Objeto) lo primero que se ejecuta es el constructor.
public class Herramientas { public Herramientas() { } }
Ahora agregaremos un método que nos facilite la reutilización de código, como por ejemplo: IsNumeric()
.
using System; using System.Collections.Generic; using System.Web; public class Herramientas { public Herramientas() { } public bool IsNumeric(object Expression) { bool isNum; double retNum; isNum = Double.TryParse(Convert.ToString(Expression), System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out retNum); return isNum; } }
Ya tenemos creada nuestra clase Herramientas.cs
en la carpeta App_Code
. ¿Cómo podemos utilizar el método IsNumeric(
) desde cualquier parte de nuestra solución Web?
Lo primero que debemos hacer es instanciarla.
Herramientas herr = new Herramientas();
Ahora podemos ver dentro de nuestro objeto herr
los métodos públicos.
Este método nos devuelve un Booleano: verdadero o falso y nos sirve para evaluar. Vamos a llamar a la clase Herramientas desde el método Escribir
del capítulo anterior.
Herramientas herr = new Herramientas(); if (herr.IsNumeric(txtEdad.Text)) { }
De esta forma nos evitamos tener que codificar el evento IsNumeric
en cada parte del código donde lo necesitemos.
Clases estáticas:
Las clases estáticas son clases que no tienen un constructor invocable, por consiguiente no hay que instanciarlas y se pueden acceder a los métodos en forma directa.
Veamos el ejemplo anterior pero declarando la clase como estática y su utilización.
public static class Herramientas { static Herramientas() { } public static bool IsNumeric(object Expression) { } }
Al no tener la necesidad de instanciarla la llamada al método IsNumeric
lo hacemos en forma directa de la siguiente forma.
Capítulos del Tutorial
- Capítulo 1: Tutorial de desarrollo web con ASP.NET
- Capítulo 2: Primera aplicación web en ASP.NET
- Capítulo 3: Ejecutar código JavaScript en ASPNET
- Capítulo 4: Archivos Web.Config y Global.asax
- Capítulo 5: Utilización de Código detrás del modelo o código en línea
- Capítulo 6: Controles de servidor y eventos
- Capítulo 7: Controles de usuarios reutilizables
- Capítulo 8: Crear una página de login, autenticación y seguridad.
- Capítulo 9: Utilización de estilos en ASP.NET (CSS)
- Capítulo 10: Trabajando con XML y Web Services
- Capítulo 11: Acceso a datos, consultar y guardar información desde WebForms
- Capítulo 12: Estructura de clases y objetos