我的情况是这样的:
public class InheritedClass : BaseClass
{
public override void SomeMethod()
{
AnotherMethod();
}
public override void AnotherMethod()
{
}
}
public class BaseClass
{
public virtual void SomeMethod()
{ }
public virtual void AnotherMethod()
{ }
}
当我调用InheritedClassInstance.SomeMethod
时调用哪种方法?它会调用InheritedClassInstance.AnotherMethod
还是BaseClass的AnotherMethod
?
答案 0 :(得分:2)
它会调用InheritedClassInstance.AnotherMethod()
如果您希望它调用基类AnotherMethod()
,您可以编写base.AnotherMethod()
答案 1 :(得分:0)
它将在继承的类上调用派生方法,除非您显式调用基本方法(base.AnotherMethod()
)