【发布时间】:2019-08-09 13:08:51
【问题描述】:
private void Context_EndRequest(object sender, EventArgs e)
{
var context = ((HttpApplication)sender).Context;
if (context.Items[typeof(IServiceScope)] is IServiceScope scope)
{
scope.Dispose();
}
}
当我尝试构建我的项目(Framework 4.7.2)时,我得到了
: 错误 CS1026: ) 预期: 错误 CS1002: ;预期:错误 CS1513: } 预期
上线
if (context.Items[typeof(IServiceScope)] is IServiceScope scope)
但我看不出它在哪里抛出错误。
【问题讨论】:
-
在项目的 Build 属性中检查 C# 版本。您正在使用 C# 7 中引入的“模式匹配”。
-
obj is Scope scope是否已在 4.7.2 中实现? -
@MaximeRecuerda 这是一种语言功能,而不是 .Net Framework 功能
-
模式匹配是 C# 7 或更高版本中引入的语言功能,而不是 .NET 功能。框架版本无关紧要。
-
@phuzi 你启发了我的生活,我一直以为我被 C# 6 卡住了,因为我无法升级我的框架!
标签: c# asp.net asp.net-mvc