Sintaxe de inicializador de objeto aninhado
Resharper acaba de sugerir a seguinte refatoração para mim:
// Constructor initializes InitializedProperty but
// the UninitializedSubproperty is uninitialized.
var myInstance = new MyClass();
myInstance.InitializedProperty.UninitializedSubproperty = new MyOtherClass();
// becomes
var myInstance = new MyClass
{
InitializedProperty = { UninitializedSubproperty = new MyOtherClass() }
};
Eu nunca vi esse tipo de inicialização de objeto antes. Em particular, não vejo como
InitializedProperty = { UninitializedSubproperty = new MyOtherClass() }
faz algum sentido - não éatribuição qualquer coisa paraInitializedProperty
.
Esse comportamento é especificado em algum lugar?