我遇到了问题。将元素添加到空(空)列表<T>属性
问题是我尝试将对象添加到此对象的列表中。 这个列表是一个属性,没有错误,但是当我运行它时失败了,因为: “NullReferenceException”。听起来合乎逻辑,因为列表的属性是“null”,但我不能声明一个属性,对吗?
她的是一些代码剪断:
class Maps
{
protected virtual List<Ant> AllAntsAtMap { get; set; }
[...]
class Quadrangle : Maps
{
protected override List<Ant> AllAntsAtMap { get; set; }
public override void AddAntToMap(Ant ant)
{
AllAntsAtMap.Add(ant); //Error here
}
public override void AddAntsToMap(List<Ant> ants)
{
foreach (Ant ant in ants)
{
AddAntToMap(ant);
}
}
[...]
为什么该属性是虚拟的,然后在派生类中重写的任何原因?你真的只需要申报一次。重写在这里没有任何好处。 – siride