我正在使用visual studio 2013.我在github中找到了一个项目,该项目正在使用Visual Studio 2015.我正在尝试编译它但是使用vs2013时出现错误
无效令牌';'在类,结构或接口成员声明中
这里是代码:
private readonly Log _log;
public Log Log => _log; // What => Operator is doing ? Pointer ?
是的,=>
中C# [6.0]
运算符的哪些新功能?并且有没有办法在vs2013中使用C#6.0?
答案 0 :(得分:7)
写一个只读属性是一个较短的版本。
public Log Log => _log;
等于
public Log Log { get { return _log; } }
但我知道在旧版本中无法使用此功能。
答案 1 :(得分:2)
这是一个表达式身体属性,是C#6中引入的计算属性的新语法,它允许您以与创建lambda表达式相同的方式创建计算属性。所以:
public int TwoTimes(int number)
{
return 2*number;
}
相当于
public int TwoTimes(int number) => 2 * number;
注意:VS 2015引入了C#6.0。您无法在早期版本中使用它。
答案 2 :(得分:1)
问题是Visual Studio 2013不支持C#6.0。 以较旧的方式转换它,就像之前的回答一样
private readonly Log _log;
public Log Log
{
get { return _log; }
}