我的基类中有一个返回 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关键字。