Mostrando entradas con la etiqueta extensores. Mostrar todas las entradas
Mostrando entradas con la etiqueta extensores. Mostrar todas las entradas

Método IsDate como extensor de String

Tras leer un árticulo en la web sobre métodos extensores en Visual Studio 2008 y para probar la facilidad de uso de estos he implementado en método IsDate, extensor de String que siempre viene bien para comprobar las cadenas que son fechas válidas. El código quedaría como sigue:

using System;

///
/// Clase que implementa métodos extensores.
///

public static class Extensores
{
///
/// Determina si una cadena es o no una fecha válida.
///

/// Cadena a validar.
///
/// true si la cadena es una fecha válida, sino false.
///

public static bool IsDate(this String cadena)
{
DateTime d;
return DateTime.TryParse(cadena, out d);
}
}

Es decir basta con crear una clase estática con una función estatica IsDate con un parámetro (this String cadena). Con esta nomenclatura le estamos diciendo que el metodo extensor es para la clase String.
He usado la funcion TryParse de DateTime porque según he leido es más eficiente que usar bloques try - catch - finally.
No es muy dificil de implementar pues y el uso seria muy facil puesto que ahora nuestra clase String posee un metodo nuevo al que podremos acceder facilmente:
String.Empty.IsDate()
Esa llamada se evalua como falso ya que la cadena vacia no es una fecha válida.

Buscar este blog

Seguidores

Blogs amigos

Etiquetas

.net (5) ALTER (2) ATER (1) AUTO (1) c# (6) CATCH (1) CREATE (10) DATABASE (4) DROP (1) EXPLICIT (1) extensores (1) FILEGROUP (1) funciones (2) FUNCTION (2) HTML (1) Instalacion desatendida (1) Joomla (1) metadatos (1) Office 2007 (1) PARTITION (1) PATH (2) PROCEDURE (2) Programación Web (2) RAW (1) Recursos (1) Saludos (1) SCHEMA (1) SCHEME (1) seguridad (1) SELECT (1) Silverlight (1) SNAPSHOT (1) SQL Server (2) SQL Server 2000 (1) SQL Server 2005 (21) T-SQL (3) TABLE (1) timestamp (1) TRAN (1) transacciones (1) TRY (1) TYPE (1) Vista (2) Vistas (1) Visual Basic (2) Visual Basic 6 (1) Visual Studio 2008 (5) Visual Studio 2010 (3) Windows (4) WPF (2) XML (2)