none
¿Alguien me puede explicar por qué está línea es ignorada por VB NET? RRS feed

  • Pregunta

  • Trataba de visualizar una fecha, ya lo pude resolver, pero cuando probaba me topé con esta línea y me he quedado con la duda.

    No entiendo por qué VB Net la ignora, la pasa por alto no la ejecuta, no visualiza un mensaje. Estoy seguro que la ignora, porque si en lugar del contenido pongo una cadena cualquiera si la muestra pero si pongo lo de abajo no sale nada, como si no la hubiese puesto ¿A qué se debe?

    MsgBox(Hora.TimeOfDay.ToString("hh:mm tt", CultureInfo.InvariantCulture))

    (La variable Hora es de tipo datetime y le asigno su valor de una columna del mismo tipo (tabla SQL Server), contiene una fecha correcta porque si visualizo Hora.tostring visualiza una hora y fecha correcta)



    • Editado James-2016 lunes, 16 de mayo de 2016 9:08
    lunes, 16 de mayo de 2016 9:07

Respuestas

  • No creo que te la esté ignorando.

    Supongo que tendrás esa instrucción dentro de un try...catch y estás ignorando la excepción que te genera (que es lo que debería hacer esa instrucción).

    Esa instrucción debería devolverte una System.FormatException al estar intentando aplicar un formato de fecha a un valor TimeSpan que es lo que devuelve la propiedad TimeOfDay.

    Para mostrar la hora de la fecha simplemente tendrías que hacer:

    MsgBox(Hora.ToString("hh:mm tt", CultureInfo.InvariantCulture))


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta James-2016 lunes, 16 de mayo de 2016 9:48
    lunes, 16 de mayo de 2016 9:24
  • En principio, para agilizar la compilación, el Visual Studio no recompila aquellos proyectos en los que no detecte cambios. Si te fijas en la ventana de "Salida" al compilar te marca los proyectos que se han compilado y los que estaban ya actualizados (los que ha entendido que no era necesario recompilar).

    En versiones anteriores del Visual Studio me pasaba bastante cuando bajaba código del gestor de fuentes (en concreto del TFS). El Visual Studio no detectaba el cambio y por tanto no recompilaba el proyecto a no ser que hiciera una recompilación manual.

    Con el VS 2015 no sabría decirte porque ando usando el gestor de compilaciones del Resharper (que también me hace algunas jugadas de esas, pero bueno).


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta James-2016 lunes, 16 de mayo de 2016 10:06
    lunes, 16 de mayo de 2016 9:50

Todas las respuestas

  • No creo que te la esté ignorando.

    Supongo que tendrás esa instrucción dentro de un try...catch y estás ignorando la excepción que te genera (que es lo que debería hacer esa instrucción).

    Esa instrucción debería devolverte una System.FormatException al estar intentando aplicar un formato de fecha a un valor TimeSpan que es lo que devuelve la propiedad TimeOfDay.

    Para mostrar la hora de la fecha simplemente tendrías que hacer:

    MsgBox(Hora.ToString("hh:mm tt", CultureInfo.InvariantCulture))


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta James-2016 lunes, 16 de mayo de 2016 9:48
    lunes, 16 de mayo de 2016 9:24
  • ajaja Visual Basic no se equivoca, una explicación lógica tenía que haber, efectivamente era un Try Catch.

    Pero la confusión se agravó más porque por alguna razón (que no descubro) a veces presiono el botón de compilar y Visual Basic no recompila el último cambio porque se ejecuta el programa pero tal cual antes del último cambio (no ocurre siempre, pero cuando pasa lo primero que pienso es que no funcionó porque algo hice mal) y suele ser que no recompiló, no creo que sea memoria porque tengo 12 Gb, aunque no estoy seguro ¿no sabes a qué se puede deber que a veces no recompila?

    lunes, 16 de mayo de 2016 9:44
  • En principio, para agilizar la compilación, el Visual Studio no recompila aquellos proyectos en los que no detecte cambios. Si te fijas en la ventana de "Salida" al compilar te marca los proyectos que se han compilado y los que estaban ya actualizados (los que ha entendido que no era necesario recompilar).

    En versiones anteriores del Visual Studio me pasaba bastante cuando bajaba código del gestor de fuentes (en concreto del TFS). El Visual Studio no detectaba el cambio y por tanto no recompilaba el proyecto a no ser que hiciera una recompilación manual.

    Con el VS 2015 no sabría decirte porque ando usando el gestor de compilaciones del Resharper (que también me hace algunas jugadas de esas, pero bueno).


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta James-2016 lunes, 16 de mayo de 2016 10:06
    lunes, 16 de mayo de 2016 9:50
  • mm entoces suele darse el caso. La vez pasada me estaba rompiendo la cabeza por un código que aparentemente estaba bien pero la máquina "no hacía" lo que trataba de hacer hasta que caí en la cuenta que no estaba compilando. Voy a tener más presente en leer los mensajes que va mostrando al compilar que antes los pasaba por alto. Que tengas buen día, salí de la duda del error anterior, gracias.
    lunes, 16 de mayo de 2016 10:06