Składnia inicjalizatora

Podoba mi się składnia inicjalizatora C # 3 i często go używam, ale dziś, patrząc w Odbłyśnik, pojawiły się następujące informacje:

var binding = new WSHttpBinding
{
  ReaderQuotas = { MaxArrayLength = 100000 },
  MaxReceivedMessageSize = 10485760
};

Na początku myślałem, że to pomyłka, ale się kompiluje! Zgaduję, że cały czas uczę się nowych rzeczy. :)

Z tego co wiem, ustawiaMaxArrayLength własnośćReaderQuotas własnośćWSHttpBinding.

Czy ta składnia tworzy nowyReaderQuotas obiekt, a następnie ustaw właściwość, czy też zakłada, że ​​właściwość ma zostać zainicjowana? Czy jest to ogólny sposób, w jaki można zainicjować właściwości „potomne”?

Składnię uważam za nieco mylącą ...

questionAnswers(2)

yourAnswerToTheQuestion