Eventuali duplicati:
Nullable type is not a nullable type?Perché GetType() restituendo tipo DateTime per Nullable <DateTime>
Nel codice seguente:
DateTime? dt = DateTime.Now;
MessageBox.Show(dt.GetType().ToString());
il messaggio di dialogo mostra "Sistema .DateTime ", anziché Nullable<DateTime>
. Di seguito restituisce anche falsa (perché il GetType è sbagliato):
if (dt.GetType().IsAssignableFrom(typeof(DateTime?)))
...
(btw, utilizzando DateTime?
o Nullable<DateTime>
non fa una differenza) Nella finestra di controllo, si ha la colonna "Type" che è la visualizzazione del tipo corretto (System.DateTime?).
Nel mio codice ho riferimento a dt come object
, quindi ho bisogno di arrivare al tipo sottostante correttamente. Come posso fare questo?
duplicato di http://stackoverflow.com/questions/785358/nullable-type-is-not-a-nullable-type che sembra avere una buona risposta – Chris
Vedere http://msdn.microsoft.it/it/us/library/ms366789 (v = VS.100) .aspx per alcune informazioni, ma non una soluzione –
duplicata di http://stackoverflow.com/questions/374651/how-to-check-if-an -object-is-nullable che ha una soluzione. – PoppaVein