C#lambda运算符用于赋值

时间:2016-01-08 18:44:00

标签: c# lambda properties syntactic-sugar

我今天在我们的代码库中遇到过这个问题,我花了一段时间才看到它的效果是什么,但这实际上意味着什么呢?

public virtual SomeClass InstanceVariable => new SomeClass("arg1", "arg2");

我在Visual Studio的C#交互式终端中玩弄了这个,发现它看起来相当于:

public virtual SomeClass InstanceVariable { get { new SomeClass("arg1", "arg2"); } }

然而,我无法找到任何关于此的文件,包括任何形式的语法糖'对于只读属性。

有人想对这种情况有所了解吗?

1 个答案:

答案 0 :(得分:2)

来自新的C#6.0。您可以默认实例化您的类。检查"表达身体功能和属性" https://msdn.microsoft.com/en-us/magazine/dn802602.aspx文章