C # - почему я получаю пустую коллекцию?
Почему в коллекции людей есть элементы, только если я переопределил ее в подклассах? Вот код Если я раскомментирую переопределенные методы, то в моей коллекции будет 2 человека в парке.
public class Park : Thing
{
}
public abstract class Thing
{
public virtual List<Thing> people { get; } = new List<Thing>();
}
public class PersonA : Thing
{
Thing p;
public string Name { get; set; }
public PersonA(Thing p)
{
this.p = p;
Name = "Marry";
this.p.people.Add(this);
}
//public override List<Thing> people => p.people;
}
public class PersonB : Thing
{
Thing p;
public string Name { get; set; }
public PersonB(Thing p)
{
this.p = p;
Name = "Joe";
this.p.people.Add(this);
}
//public override List<Thing> people => p.people;
}
А вот и тестовое приложение:
Thing park = new Park();
park = new PersonA(park);
park = new PersonB(park);
Console.WriteLine(park.people.Count);