I have the following situation:
In a 3rd party library (can not be modified):
class A { public virtual void M() {} }
class B : A { public override void M() {} }
In my own code:
class C : B { public override void M() {} }
From C
's implementation of method M
I want to call A
's (but not B
's!!). Can I?
Any tricks accepted, reflection included. I tried reflection already, but using the MethodInfo
that I get from typeof(A)
still generates a virtual call (calling C
's implementation with subsequent stack overflow).
Deriving C
from A
is out of the question due to the complexity of reimplementing B
.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…