Kann mir jemand erklären, wie dieser Code funktioniert?C# -Klasse ohne expliziten Konstruktor und schreibgeschützte Eigenschaft
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",
}
}
}
}
}
}
};
}
Die 'Children'-Eigenschaft ist' schreibgeschützt '(da sie keinen Setter hat). Die Funktion 'GetFamilyTree' scheint einen impliziten Initialisierer zu verwenden, was für die 'Name'-Eigenschaft gut ist, da auf sie außerhalb von' Person 'zugegriffen werden kann, aber wie' Children'-Eigenschaft in dieser Funktion zugewiesen werden kann?
Vielen Dank für Ihre Erklärungen. Prost.
Danke dbc! –