¿Por qué los paréntesis de constructor de inicializador de objeto C # 3.0 son opcionales?
Parece que la sintaxis de inicializador de objeto C # 3.0 permite excluir el par de paréntesis abrir / cerrar en el constructor cuando existe un constructor sin parámetros. Ejemplo:
var x = new XTypeName { PropA = value, PropB = value };
Opuesto a:
var x = new XTypeName() { PropA = value, PropB = value };
Tengo curiosidad por qué el par de paréntesis de apertura / cierre del constructor es opcional aquí despuésXTypeName
?