Tom*_*Tom 6 c# intellisense visual-studio-2012
我有2个可以为空的DateTimes,因此减去它们将导致可以为空的TimeSpan.我想打电话.Value来.

但是,自动完成下拉列表认为括号内的类型是正常的TimeSpan..Value不在列表中,当我使用任何建议时,它不会编译.它在我手动输入时编译.Value.
如果只有一个DateTimes可以为空,则会出现同样的问题.如果我将a添加TimeSpan?到DateTime?结果中,也会发生这种情况DateTime?.Intellisense认为它是一个DateTime.
这是Visual Studio智能感知的问题吗?我在更新3,我没有ReSharper.另一台电脑上的问题相同.
编辑:要清楚,我问一个关于为什么intellisense建议错误类型的问题.我知道要编写什么来编译代码.
同意,IS得到这个错误,并没有正确地推断减法的结果是a Nullable<TimeSpan>,它推断TimeSpan.你可以通过这样写它来改变它:
var span = date1 - date2;
span.
Run Code Online (Sandbox Code Playgroud)
现在确实正确推断了span变量的类型,你会在自动完成窗口中看到HasValue.否则在运行时根本不会慢,所以它是一个合理的解决方法.
您或我们无法对原始oops做任何事情,但您可以在connect.microsoft.com上提交反馈报告.发布链接,以便我们投票.
| 归档时间: |
|
| 查看次数: |
277 次 |
| 最近记录: |