Encuentro este comportamiento de TryCast en .NET 4.0/VS 2010 bastante confuso.TryCast falla donde funciona DirectCast (.NET 4.0)
Según tengo entendido, TryCast funciona como DirectCast, pero devolverá Nothing en lugar de lanzar una excepción si no se puede realizar un lanzamiento.
VS 2010/.NET 4
?TryCast(CType(1, Object), String)
Nothing
?DirectCast(CType(1, Object), String)
"1"
VS 2008/.NET 3,5
?TryCast(CType(1, Object), String)
Nothing
?DirectCast(CType(1, Object), String)
Cannot convert to 'String'.
El .NET 3.5 resultados son consistentes con lo que creo TryCast hace ... .NET 4 sin embargo no lo es.
¿Puede alguien indicarme la mejor dirección para lanzar un objeto de forma segura a String en .NET 4?
Acabo de confirmar lo que sugirió. DirectCast() arroja una excepción cuando se ejecuta en una evaluación real. ¡Gracias por la aclaración! – motto
Sería realmente bueno si pudieras explicar exactamente lo que sucedió. – SLaks
@SLaks, agregó una explicación rápida. – JaredPar