我有2個可爲空的DateTimes,所以減去它們將導致可空的TimeSpan。我想對此致電.Value
。Visual Studio 2012不承認可空類型
但是,自動完成下拉列表中認爲,括號內的類型是一個正常的時間跨度。 .Value
不在列表中,當我使用任何建議時,它不會編譯。它會在我手動鍵入.Value
時進行編譯。
如果只有一個日期時間是可空的,則會發生同樣的問題。如果我將TimeSpan?
添加到DateTime?
導致DateTime?
也會發生。 Intellisense認爲這是一個DateTime
。
這是Visual Studio的智能感知問題嗎?我在更新3,我沒有ReSharper。另一臺計算機上出現同樣的問
編輯:很清楚,我在問一個關於爲什麼intellisense暗示錯誤類型的問題。我知道該編寫什麼代碼才能編譯。
奇怪,當你施放時發生的事情是Timespan ie。 '(TimeSpan)(date1 - date2).'? – JMK
@JMK它最後一個鑄造,所以同樣的行爲。你的意思是把整個事情放在括號內嗎? '((TimeSpan?)(date1 - date2))。Value'工作正常。 – Tom
主要是出於好奇而問,有興趣知道它是什麼:) – JMK