public class A
{
...
public virtual void PrintMe() { /* do A */ }
}
public class B : A
{
...
public override void PrintMe() { /* do B */ }
}
public class C : B
{
...
public override void PrintMe() { /* do C */ }
private void Fun()
{
// call C::PrintMe - part one
PrintMe();
// call B::PrintMe - part two
base.PrintMe();
// call A::PrintMe - part three
???
}
}
はパート2のコードは正しいですか?コール基底クラスのメンバ関数
A::PrintMe
C::Fun
に電話するにはどうすればいいですか?
が重複する可能性をbase.base.GetHashCode()](http://stackoverflow.com/questions/1006530/c-how-to-call-a-second-level-base-class-method-like-base-base-gethashcode) –