1

I have two classes:

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

    public InnerClass InnerC { get; set; }
}

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

And is it possible to initialize property of InnerClass like this, becouse in this way VS2010 cannot does it.

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

2 Answers2

1

Use next code snippet:

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

Note, that statement new TmpClass will call a constructor by default. Also note: you have wrong constructor declaration. Change TmpClass constructor to next code sample, so that it will compile:

public TmpClass() 
{
    InnerC = new InnerClass();
}
Ilya Ivanov
  • 23,148
  • 4
  • 64
  • 90
0
TmpClass a = new TmpClass()
{
    InnerC = new InnerClass
    {
        Name = "blabla"
    }
}
Ryszard Dżegan
  • 24,366
  • 6
  • 38
  • 56