我有这个代码:
public UnityResolver(IUnityContainer container)
{
if (container == null) throw new ArgumentNullException("container");
_container = container;
}
Visual Studio 显示 3 个灰点并建议简化 null 检查。
它使方法变成这样:
_container = container ?? throw new ArgumentNullException("container");
那不建...
这是怎么回事?为什么它认为它可以简化它,为什么它要将它简化为无法构建的东西。
给出的错误是:
1>L:\SL1-(SentiLAN)-SentiLAN v1 - Current System\SentilanCore\WEB API with Plugins\APITest2\App_Start\UnityConfig.cs(31,39,31,44): error CS1525: Invalid expression term 'throw'
1>L:\SL1-(SentiLAN)-SentiLAN v1 - Current System\SentilanCore\WEB API with Plugins\APITest2\App_Start\UnityConfig.cs(31,39,31,44): error CS1002: ; expected
最佳答案
这是一个编译器问题,代码是有效的。他们更新了版本并修复了最新更新(几个小时前)中的错误。如果弹出通知或从网站下载更新,您可以下载更新。
或者简单地更新 Microsoft 编译器版本,因为它没有包含在 VS 2017 中......
Install-Package Microsoft.Net.Compilers -Version 2.3.0
我认为是最新的
关于c# - Visual Studio 2017 15.3 简化空检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45690517/