Почему скобки конструктора инициализатора объекта C # 3.0 являются необязательными?

Кажется, что синтаксис инициализатора объекта C # 3.0 позволяет исключить пару открытых / закрытых скобок в конструкторе, когда существует конструктор без параметров. Пример:

var x = new XTypeName { PropA = value, PropB = value };

В отличие от:

var x = new XTypeName() { PropA = value, PropB = value };

Мне любопытно, почему пара открытых / закрытых скобок конструктора здесь необязательна послеXTypeName?

Ответы на вопрос(5)

Ваш ответ на вопрос