Un vecchio collega di lavoro usava citare suo padre sugli strumenti: "Devi essere più intelligente di quello".Vorrei davvero restituire la data minima?
Nel seguente codice, Resharper mi sta dicendo, "Il valore assegnato non viene utilizzato in alcun percorso di esecuzione" (che punta alla prima riga). Se accetto la sua offerta di aiuto, a dt non viene assegnato un valore ("oggi").
Si tratta di un caso in cui "Devo essere più intelligente di esso" e ignorare il loro avviso, o si tratta di un caso in cui lo strumento è più intelligente di me e io non lo capisco?
La mia opinione sulla situazione è che se l'istruzione if fallisce, viene restituita la data corrente (il valore predefinito che desidero), ma se accetto le "richieste" di Resharper restituirà il valore predefinito per Datetime, che è la data minima, che presumo è qualcosa come 7/4/1776 o 1/1/0000 o giù di lì.
DateTime dt = DateTime.Now;
if (!(DateTime.TryParse(substr, out dt))) {
using (var dtpDlgForm = new ReturnDate("Please select the Date that the file was created:")) {
if (dtpDlgForm.ShowDialog() == DialogResult.OK) {
dt = dtpDlgForm.ReturnVal;
}
}
}
return dt;
Questo è un caso in cui vorrei suggerire di utilizzare più ritorni. È più ovvio se si sostituisce l'ultima riga con 'return DateTime.Now' e la riga nel mezzo dell'uso con' return dtpDlgForm.ReturnVal'. –