¿Qué .... ¿Cómo puedo cambiar el valor de un DateTime en el depurador? Puedo cambiarlo, pero aparece un error al salir del campo de edición; no puede analizarloCambiar fecha y hora en el depurador de Microsoft Visual Studio
Editar: VS 2008, C#
¿Qué .... ¿Cómo puedo cambiar el valor de un DateTime en el depurador? Puedo cambiarlo, pero aparece un error al salir del campo de edición; no puede analizarloCambiar fecha y hora en el depurador de Microsoft Visual Studio
Editar: VS 2008, C#
Sin mirar a lo que tienes, no estoy muy seguro de qué campo de edición que usted se refiere. Sin embargo, puede intentar usar la ventana inmediata y DateTime.Parse
o new DateTime()
en su lugar.
Puede cambiar la fecha en la ventana Inmediato.
date = new DateTime(2009, 10, 05)
{05/Oct/2009 12:00:00 AM}
Date: {05/Oct/2009 12:00:00 AM}
Day: 5
DayOfWeek: Monday
DayOfYear: 278
Hour: 0
Kind: Unspecified
Millisecond: 0
Minute: 0
Month: 10
Second: 0
Ticks: 633902976000000000
TimeOfDay: {00:00:00}
Year: 2009
Si la fecha no es de solo lectura ... pero él está pidiendo cambiar el valor de un DateTime ... su solución es cambiar la referencia. La respuesta debería ser: no se puede, porque es inmutable, ¿no? – tanascius
La fecha es inmutable, pero esto crea un nuevo objeto de fecha que puede asignar a la variable que desea cambiar. – kristianp
Puede escribir cosas como esta en la ventana Inmediato, la ventana Inspección o la ventana Inspección rápida y que recibirán evaluado:
myDate = DateTime.Today.AddDays(2)
myDate = new DateTime(2009, 12, 25)
Si se refiere en depurador de Visual Studio tratar como esto :
- establecer el punto de interrupción
- abrir la variable DateTime en Inspección rápida, por ejemplo (clic derecho)
- en el cuadro de texto Expresión introduce un nuevo valor, esto es ejemplo si su nombre de la variable es "DT":
dt = dt.AddDays (3)
- Pulse ENTER y continuar la ejecución del proyecto
El "dt =" porción no es estrictamente necesario. Simplemente escriba "dt.AddDays (3)" o "new DateTime (...)" o DateTime.Parse (""), etc., y el depurador intentará asignar cualquier valor que resulte de la expresión que escriba a la variable bajo vigilancia; simplemente sucede que debido a que C# tiene expresiones de asignación (por ejemplo, y = (x = 1); // establece y = 1) la asignación de la expresión al nombre de la variable funciona. :)
Las firmas se consideran malas formas. Por favor, lea las preguntas frecuentes para más detalles. – IronMan84
Podemos cambiar un valor de fecha y hora directamente en la ventana de observación. El truco es simple: siempre tenemos que usar un "nuevo método DateTime()", que proporciona los parámetros adecuados.
La ventana de observación no le permite escribir un nuevo valor directamente, por lo que cosas como "2010-07-13 9:15" o incluso {13/07/2010 09:00:00} no funcionan .
Puede hacer esto pasando el mouse directamente sobre la variable sin tener que usar la ventana Inspección. Funciona en Visual Studio 2012. No sé sobre versiones anteriores. –
Gracias, usando el nuevo DateTime (...) ¡fue el truco! Este era un miembro de la clase, y "token.expiry = new Datetime (...)" en la ventana inmediata falló con "object reference not set to instance of a object". –
Puede hacerlo si define su DateTime entre paréntesis.
(new DateTime(2017, 09, 27))
Por ejemplo, en la ventana del reloj; un DateTime se mostrará como {03/12/2009 00:00:00}, pero si cambio, p. la fecha para 04 en lugar de 03, me sale un error de VS: término de expresión no válido '{' – Rabbit
Gracias (también usted, espectador), eso es lo que necesitaba. Aunque creo que es una mierda :-) El depurador debería soportar eso. – Rabbit