1
有人能解釋我這個代碼的工作原理嗎?沒有顯式構造函數和只讀屬性的C#類
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'函數似乎使用隱式初始值設定項,它可以在'Person'之外訪問'Name'屬性,但是如何在此函數中指定'Children'屬性?
謝謝你的解釋。 乾杯。
謝謝dbc! –