我有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