使用派生类对象访问基类方法
如果我正在使用阴影,并且如果我想使用派生类对象访问基类方法,我该如何访问它?
使用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