【发布时间】:2015-10-01 22:12:51
【问题描述】:
我刚刚注意到在 Visual Studio 2015 中编写的 C# 中可以进行以下操作,但我以前从未见过:
public class X
{
public int A { get; set; }
public Y B { get; set; }
}
public class Y
{
public int C {get; set; }
}
public void Foo()
{
var x = new X { A = 1, B = { C = 3 } };
}
我的期望是 Foo 必须像这样实现:
public void Foo()
{
var x = new X { A = 1, B = new Y { C = 3 } };
}
请注意,无需致电new Y。
这是 C# 6 中的新功能吗?我在release notes 中没有看到任何提及,所以也许它一直都在那里?
【问题讨论】: