Я только заметил, что возможно следующее в C#, написанной в Visual Studio 2015, но я никогда не видел его раньше:Новый синтаксис инициализатора объекта 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 } };
}
мое ожидание было для Foo, чтобы быть реализована следующим образом:
public void Foo()
{
var x = new X { A = 1, B = new Y { C = 3 } };
}
Обратите внимание, что нет необходимости звонить new Y
.
Является ли это новым в C# 6? Я не видел упоминания об этом в release notes, так что, возможно, он всегда был там?
Возможный дубликат (http://stackoverflow.com/questions/32342188/c-sharp- object-initialization-bug) –