tengo el siguiente método (simplificado):moldeada en el método genérico para DateTime
private static string GetStringFromValue<T>(T val)
{
if (typeof(T) == typeof(DateTime))
{
return string.Format("{0}", ((DateTime)val).Year.ToString("0000"));
}
return string.Empty;
}
En el elenco "(DateTime) val" me sale el siguiente error:
Cannot cast expression of Type 'T' to type 'DateTime'
Lo ¿Puedo hacer para acceder a la propiedad Year del parámetro DateTime?
ACTUALIZACIÓN: Gracias por todas sus respuestas rápidas. Este método (y el nombre del método) está realmente (!) Simplificado para mostrar exactamente mi problema y para permitir que todos copien & pegándolo en su propio estudio visual. Es solo que quería agregar algunos valores específicos de Tipo si el tipo es un DateTime. Además de eso, el 99% del método es el mismo.
¿Por qué está escribiendo 'String, Format (" {0} ", algo)'? – SLaks
No solo eso. 'something.ToString()'. – recursive
El año no es el único valor que quiero obtener. Pero simplifiqué el método. ¿O es incorrecto que use String.Format en absoluto? Tiene un rendimiento y legibilidad mucho mejores que: x.Year + ":" + x.Month + ":" + ..... – Chris