Может кто-нибудь объяснить мне, как работает этот код?
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",
}
}
}
}
}
}
};
}
Свойство «Дети» доступно только для чтения (поскольку у него нет установщика). Функция «GetFamilyTree», по-видимому, использует неявный инициализатор, который подходит для свойства «Имя», поскольку к нему можно получить доступ вне «Человека», но как свойство «Дети» может быть назначено в этой функции?
Спасибо за ваши объяснения. Ваше здоровье.