我可以通过使用base.virtualParentMethod()来调用父类方法。但是,在下面的场景中,我如何在父 - 父类中调用方法而不创建它的对象。如何在不创建对象的情况下调用父类方法
class A
{
public virtual void virtualParentMethod()
{
Console.WriteLine("A");
}
}
class B : A
{
public override void virtualParentMethod()
{
Console.WriteLine("B");
}
}
class C : B
{
public override void virtualParentMethod()
{
//base.virtualParentMethod();
//This is where I want to invoke the method of A
//So that out Will be : A
}
}
如果你需要这样做,你需要重构这个可能性。你似乎有你的继承模型和你想要的行为之间的不匹配 – Pete 2012-04-16 12:13:55
重复 - http://stackoverflow.com/questions/438939/is-there-any-way-to-call-the-parent-version-of-an -overridden-method-c-net – scibuff 2012-04-16 12:14:43
如果你真的想这样做,也许你应该考虑改变你的设计...... – 2012-04-16 12:15:31