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ą ...