【发布时间】:2017-06-11 07:39:13
【问题描述】:
我在工作中继承了一个 C# MVC Web 应用程序,并且在控制器类中直接有一个分配,如下所示:
public class FooController : Controller
{
private IAuthenticationManager AuthenticationManager => HttpContext.GetOwinContext().Authentication;
}
Visual Studio 用错误突出显示它,例如“;预期”。但它编译并运行得很好。如果我将“=>”更改为简单的赋值“=”,它会突出显示 HttpContext,并显示错误“非静态字段 bla bla bla...需要对象引用”,并且不会编译。
所以这是我的问题。为什么使用“=>”运算符编译并正常工作?我是 C# 的新手(来自 Android/iOS 开发),所以虽然理解一些东西很容易,但像这样的东西让我感到困惑。
【问题讨论】:
-
有人会进一步启发你,但
=>是 c# 6.0 中引入的一种特殊语法,它是表达式体函数。听起来您的 VS 实例和您的运行时环境针对不同的版本
标签: c# .net assignment-operator