Cosa .... Come cambio il valore di un DateTime nel debugger? Posso cambiarlo, ma ottengo un errore quando esco dal campo di modifica; non può analizzarloModifica DateTime nel debugger di Microsoft Visual Studio
Edit: VS 2008, C#
Cosa .... Come cambio il valore di un DateTime nel debugger? Posso cambiarlo, ma ottengo un errore quando esco dal campo di modifica; non può analizzarloModifica DateTime nel debugger di Microsoft Visual Studio
Edit: VS 2008, C#
Senza guardare quello che hai, io non sono davvero sicuro di quello campo di modifica ti riferisci. Tuttavia, puoi provare a utilizzare la finestra immediata e DateTime.Parse
o new DateTime()
.
È possibile modificare la data nella finestra immediata.
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
Se la data non è in sola lettura ... ma sta chiedendo di cambiare il valore di un DateTime ... la soluzione è di cambiare il riferimento. La risposta dovrebbe essere - non puoi, perché è immutabile, non è vero? – tanascius
La data è immutabile, ma crea un nuovo oggetto data che è possibile assegnare alla variabile che si desidera modificare. – kristianp
È possibile digitare le cose come questo per la finestra immediata, la finestra di controllo, o la finestra Controllo immediato e avranno valutato:
myDate = DateTime.Today.AddDays(2)
myDate = new DateTime(2009, 12, 25)
Se vuoi dire il debugger di Visual Studio provare come questo :
- impostare il punto di interruzione
- aprire la variabile DateTime in Controllo immediato per esempio (tasto destro del mouse)
- nella casella di testo Espressione immettere nuovo valore, questo è l'esempio se il nome della variabile è "dt":
dt = dt.AddDays (3)
- enter e continuare l'esecuzione progetto
Il "dt =" porzione non è strettamente necessario. Basta digitare "dt.AddDays (3)" o "new DateTime (...)" o DateTime.Parse (""), ecc. E il debugger proverà ad assegnare qualsiasi valore risultante dall'espressione che si digita alla variabile sotto sorveglianza; succede solo perché C# ha espressioni di assegnazione (ad esempio y = (x = 1); // set y = 1) che assegna l'espressione al nome della variabile funziona. :)
Le firme sono considerate di cattiva forma. Si prega di leggere le FAQ per i dettagli. – IronMan84
Possiamo modificare un valore di DateTime direttamente nella finestra di controllo. Il trucco è semplice: dobbiamo sempre usare un "nuovo metodo DateTime()" che fornisce i parametri appropriati.
La finestra di controllo non consente di digitare direttamente un nuovo valore, quindi cose come "2010-07-13 9:15" o anche {13/07/2010 09:00:00} non funzionano .
Puoi farlo passando il mouse direttamente sopra la variabile senza dover usare la finestra di controllo. Funziona in Visual Studio 2012. Non conosco le versioni precedenti. –
Grazie, usando il nuovo DateTime (...) ha fatto il trucco! Questo era un membro della classe e "token.expiry = new Datetime (...)" nella finestra immediata non è riuscito con "riferimento oggetto non impostato su un'istanza di un oggetto". –
È possibile farlo se si definisce il DateTime tra parentesi.
(new DateTime(2017, 09, 27))
Per esempio nella finestra di controllo; un DateTime verrà mostrato come {03/12/2009 00:00:00}, ma se cambio ad es. la data a 04 invece di 03, ottengo un errore da VS: termine di espressione non valido '{' – Rabbit
Grazie (anche a te, astander), questo è quello che mi serviva. Anche se penso che faccia schifo :-) Il debugger dovrebbe supportarlo. – Rabbit