1

我有两节课:

public class TmpClass
{
    public TmpClass() 
    {
        InnerClass = new InnerClass();
    }

    public InnerClass InnerC { get; set; }
}

public class InnerClass
{
    public string Name { get; set; }
}

是否可以像这样初始化 InnerClass 的属性,因为 VS2010 不能这样做。

TmpClass a = new TmpClass()
{
    InnerC.Name = "blabla"
}
4

2 回答 2

1

使用下一个代码片段:

TmpClass a = new TmpClass
{
    InnerC = new InnerClass { Name = "Name" }
};

请注意,默认情况下,该语句new TmpClass将调用构造函数。另请注意:您的构造函数声明错误。将构造函数更改TmpClass为下一个代码示例,以便编译:

public TmpClass() 
{
    InnerC = new InnerClass();
}
于 2013-02-18T14:22:48.587 回答
0
TmpClass a = new TmpClass()
{
    InnerC = new InnerClass
    {
        Name = "blabla"
    }
}
于 2013-02-18T14:24:20.343 回答