说我的基本方法如下:
public int GetCount() {.....}
现在我继承了GetCount的类,并执行:
public new int GetCount()
{
int count = base.GetCount();
count += 1;
return count;
}
调用base.GetCount()会在增量之前返回吗? (这似乎是我正在经历的)
答案 0 :(得分:5)
不,不会。调用base.Count与从方法返回相比没有任何其他方法调用。
在正常的C#方法中(不包括迭代器和异常进程终止),只有3种方法可以留下方法
答案 1 :(得分:2)
不,为什么要归还?那里没有退货声明。确保你没有错误地调用基本方法。可能向我们展示调用它的代码有帮助。如果你这样称呼它:
Base b = new Derived();
int result = b.GetCount();
你正在调用基本方法。
答案 2 :(得分:1)
您的基类方法应该是虚拟的,否则您的子类方法将不会被调用。
public virtual int GetCount() {.....}
子类,override
而不是new
:
public override int GetCount()
{
int count = base.GetCount();
count += 1;
return count;
}
答案 3 :(得分:0)
使基本方法成为虚拟(如果可能),然后改为覆盖它。