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