0

我的情况是这样的:

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

4

2 回答 2

2

它调用InheritedClassInstance.AnotherMethod()

如果你想让它调用AnotherMethod()你会写的基类base.AnotherMethod()

于 2011-04-14T17:37:26.823 回答
0

它将调用继承类的派生方法,除非您显式调用基方法 ( base.AnotherMethod())

于 2011-04-14T17:38:05.140 回答