如果我正在使用阴影,并且如果我想使用派生类对象访问基类方法,我该如何访问它?
问问题
27266 次
4 回答
22
于 2012-04-11T10:30:51.000 回答
15
首先将派生类对象转换为基类类型,如果调用方法,它会调用基类方法。请记住,它仅在派生类方法被隐藏时才有效。
例如,
观察下面的注释行:
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
}
}
于 2012-04-11T10:35:01.957 回答
9
您限定了方法调用:
base.foo();
于 2012-04-11T10:30:20.137 回答
4
DerivedClass derivedObj = new DerivedClass();
(derivedObj as BaseClass).Method1(); // cast to base class with method invoke
于 2015-12-10T17:50:25.063 回答