Ho appena notato che la seguente è possibile in C# scritto in Visual Studio 2015, ma non ho mai visto prima:Nuova sintassi di inizializzazione dell'oggetto C# 6?
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 } };
}
La mia aspettativa era per Foo dover essere implementato in questo modo:
public void Foo()
{
var x = new X { A = 1, B = new Y { C = 3 } };
}
Si noti che non è necessario chiamare new Y
.
È questo nuovo in C# 6? Non ho visto alcuna menzione di questo nel release notes, quindi forse è sempre stato lì?
Possibile duplicato (http://stackoverflow.com/questions/32342188/c-sharp- object-initialization-bug) –