大家好我需要问为什么我不能覆盖这个添加函数它会给出一个错误,它必须返回一些值,当我尝试返回一些像这样的值时#34; return base.Add( ○);"它表示add函数返回一个void,因此不应该返回return语句。请告诉我我做错了什么
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);
}
}
答案 0 :(得分:1)
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>
答案 1 :(得分:0)
您缺少函数的返回类型。见下文:
public override int Add(object o)
{
onAdded();
base.Add(o);
}