我遇到了一个我不知道为什么会发生的问题,
我的代码检查对于Jtoken的响应,如果它确实存在,它将添加到错误列表
if (response.Response is JToken jToken)
{
List<ExceptionDescriptor> exceptions = jToken.ToObject<List<ExceptionDescriptor>>();
GlobalErrorCatcher.CatchException(exceptions);
}
我的问题是,当我构建项目时,它失败了,没有显示任何错误消息,在查看此question并通过更改错误消息表单Build和IntelliSense to Build only我可以看到3个错误在第57行
它是if (response.Response is JToken jToken)
错误是
) expected
; expected
} expected
当我将代码更改为
时JToken jToken = response.Response as JToken;
if (jToken != null)
{
List<ExceptionDescriptor> exceptions = jToken.ToObject<List<ExceptionDescriptor>>();
GlobalErrorCatcher.CatchException(exceptions);
}
我没有遇到这个问题, 我的应用程序Target Framework是.NET Framework 4.6.1 我究竟做错了什么 .NET不喜欢操作吗?
P.s:这个问题没有出现在任何其他计算机上
答案 0 :(得分:3)
该语法是C#7.1功能,非常非常新。它失败的计算机可能没有安装最新的Visual Studio(或者你使用的任何其他编译器),所以它不理解这种新语法。