大家好,我需要问为什么我不能覆盖这个添加函数,它给出了一个错误,它必须返回一些值,当我尝试返回一些值时,"返回基础。Add(o);" 它说 add 函数返回一个 void,所以不应该出现返回语句。请告诉我我做错了什么
class MyArrayList : ArrayList
{
public event EventHandler Added;
public void onAdded()
{
EventArgs e = new EventArgs();
Added(this, e);
}
public override add(object o )
{
onAdded();
base.Add(o);
}
}
ArrayList.Add
返回一个int
。您缺少返回类型:
public override Add(object o)
{
onAdded();
base.Add(o);
}
应该是:
public override int Add(object o)
{
onAdded();
base.Add(o);
}
这看起来像一个学习实验,但如果不是,请考虑查看 .NET 2.0 中引入的类型安全泛型集合,例如List<T>
您缺少函数的返回类型。见下文:
public override int Add(object o)
{
onAdded();
base.Add(o);
}