重写函数 C# 时出错



大家好,我需要问为什么我不能覆盖这个添加函数,它给出了一个错误,它必须返回一些值,当我尝试返回一些值时,"返回基础。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);
}

相关内容

  • 没有找到相关文章

最新更新