我喜欢C# 3的初始化语法并经常使用它,但是今天在Reflector中查看时,出现了以下内容:
var binding = new WSHttpBinding
{
ReaderQuotas = { MaxArrayLength = 100000 },
MaxReceivedMessageSize = 10485760
};
一开始我还以为是个错误,但它确实能编译!看来我仍然在不断学习新东西。:)
从我的了解中,它设置了WSHttpBinding
的ReaderQuotas
属性的MaxArrayLength
属性。
这个语法是创建一个新的ReaderQuotas
对象并设置属性,还是假设属性已经初始化?这是初始化“子”属性的通用方式吗?
我觉得这个语法有点令人困惑...