如果我正在使用阴影,并且我想使用派生类对象访问基类方法,我该如何访问它?
答案 0 :(得分:22)
答案 1 :(得分:14)
首先将派生类对象强制转换为基类类型,如果调用方法,则调用基类方法。请记住,只有在派生类方法被遮蔽时才有效。
例如,
观察下面的注释行:
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
}
}
答案 2 :(得分:9)
您符合方法调用的条件:
base.foo();
答案 3 :(得分:3)
DerivedClass derivedObj = new DerivedClass();
(derivedObj as BaseClass).Method1(); // cast to base class with method invoke