c#初始化内部属性

时间:2013-02-18 14:20:36

标签: c# visual-studio-2010 properties initialization nested-properties

我有两个班级:

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"
}

2 个答案:

答案 0 :(得分:1)

使用下一个代码段:

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

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

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

答案 1 :(得分:0)

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