1

私は2つのクラスを持っています:

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 に答える