【发布时间】:2010-01-07 12:17:06
【问题描述】:
我喜欢 C# 3 initializer syntax 并经常使用它,但是今天在查看 Reflector 时,出现了以下问题:
var binding = new WSHttpBinding
{
ReaderQuotas = { MaxArrayLength = 100000 },
MaxReceivedMessageSize = 10485760
};
一开始我以为是个错误,但它确实编译了!猜猜我一直在学习新东西。 :)
据我所知,它设置了ReaderQuotas 的WSHttpBinding 属性的MaxArrayLength 属性。
这个语法是创建一个新的ReaderQuotas 对象然后设置属性,还是假设属性已经初始化?这是初始化“子”属性的一般方法吗?
我确实觉得语法有点混乱......
【问题讨论】:
-
您可能对this post 感兴趣,它讨论了此类初始化程序的语义和用例
标签: c# .net object-initializers