【发布时间】:2017-03-17 17:19:17
【问题描述】:
谁能解释一下这段代码是如何工作的?
public class Person
{
readonly List<Person> _children = new List<Person>();
public IList<Person> Children
{
get { return _children; }
}
public string Name { get; set; }
}
public static Person GetFamilyTree()
{
return new Person
{
Name = "David Weatherbeam",
Children =
{
new Person
{
Name="Alberto Weatherbeam",
Children=
{
new Person
{
Name="Jenny van Machoqueen",
Children=
{
new Person
{
Name="Nick van Machoqueen",
},
new Person
{
Name="Matilda Porcupinicus",
}
}
}
}
}
}
};
}
“Children”属性是“只读”的(因为它没有设置器)。 'GetFamilyTree' 函数似乎使用了一个隐式初始化器,它适用于 'Name' 属性,因为它可以在 'Person' 外部访问,但如何在此函数中分配 'Children' 属性?
感谢您的解释。 干杯。
【问题讨论】: