使用派生类对象访问基类方法

如果我正在使用阴影,并且如果我想使用派生类对象访问基类方法,我该如何访问它?

使用base关键字:

 base.MethodOnBaseClass(); 

base关键字用于从派生类中访问基类的成员:

首先将派生类对象强制转换为基类类型,如果调用方法,则调用基类方法。 请记住,只有在派生类方法被遮蔽时,它才有效。

例如,

观察下面的注释行:

 public class BaseClass { public void Method1() { string a = "Base method"; } } public class DerivedClass : BaseClass { public new void Method1() { string a = "Derived Method"; } } public class TestApp { public static void main() { DerivedClass derivedObj = new DerivedClass(); BaseClass obj2 = (BaseClass)derivedObj; // cast to base class obj2.Method1(); // invokes Baseclass method } } 

您符合方法调用的条件:

 base.foo(); 
 DerivedClass derivedObj = new DerivedClass(); (derivedObj as BaseClass).Method1(); // cast to base class with method invoke