我的基类中有一个返回 bool 值的方法,并且我希望该 bool 值确定派生类中相同的重写方法会发生什么。

根据:

    public bool Debt(double bal)
    {
        double deb = 0;
        bool worked;

        if (deb > bal)
        {
            Console.WriteLine("Debit amount exceeds the account balance – withdraw cancelled");
            worked = false;
        }
        else

        bal = bal - deb;
        worked = true;

        return worked;
    }

衍生的
public override void Debt(double bal)
    {
        // if worked is true do something

    }

请注意,bal来自我之前创建的构造函数

最佳答案

您可以使用base关键字调用基类方法:

public override void Debt(double bal)
{
    if(base.Debt(bal))
        DoSomething();

}

如上面的注释所示,您要么需要确保基类中有一个具有相同签名(返回类型和参数)的虚拟方法,要么从派生类中删除override关键字。

10-04 22:24