我在互联网上搜索了一个似乎是一个非常基本的问题的答案,所以我确定我在这里遗漏了一些明显的东西。我正在将我和我的团队升级到Visual Studio 2017,但是,当我尝试使用新的C#7语言功能时,我得到了红色的波浪形。代码仍然编译并运行;但是,就像IDE没有采用新功能一样。我通过NuGet添加了Microsoft.Net.Compilers,我仍然得到了波音。我附上了一个非常人为的参考示例的屏幕截图(空值异常传播)。
为了它的价值,我安装了最新版本的ReSharper。此外,Roslyn建议使用C#7代码修复,并且它们得到了正确修复,但我仍然有红色波浪形。
答案 0 :(得分:5)
最新版本的ReSharper(2016.3)does not have full C# 7.0 support,所以我认为很可能导致这个问题。
您的代码适用于ReSharper 2017.1 EAP 4,包括正确标记throw
表达式无法访问。因此,如果您愿意使用预发布软件,则可能需要尝试升级。