我在MSDN:Object and Collection Initializers上没有看到任何解释。具体来说,我注意到可以使用对象初始值设定项来设置子类型的属性,而不是新建子类型本身。
语法本身与我对 MSDN 页面的理解不符。我知道我可以使用对象初始化程序来设置已初始化对象的字段,但看不到在哪里记录了可以设置字段的字段。
我觉得这是合法的。一个人可以用bt.subType.subTypeValue=5;
.
class BasicSubType
{
public int subTypeValue;
}
class BasicType
{
public BasicSubType subType {get;private set;}
public BasicType()
{
subType = new BasicSubType();
}
}
void Main()
{
BasicType bt = new BasicType{subType={subTypeValue=5}};
}