Мне нравится синтаксис инициализатора C # 3 и я его часто использую, но сегодня, глядя в Reflector, появилось следующее:
var binding = new WSHttpBinding
{
ReaderQuotas = { MaxArrayLength = 100000 },
MaxReceivedMessageSize = 10485760
};
Сначала я подумал, что это ошибка, но она компилируется! Думаю, я все еще изучаю новые вещи все время. :)
Насколько я могу судить, он устанавливает свойство MaxArrayLength
свойства ReaderQuotas
WSHttpBinding
.
Создает ли этот синтаксис новый объект ReaderQuotas
и затем устанавливает свойство, или оно предполагает, что свойство уже инициализировано? Это общий способ инициализации дочерних свойств?
Я нахожу синтаксис немного запутанным ...