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

369*_*692 7 c#

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

Ode*_*ded 22

使用base关键字:

base.MethodOnBaseClass();
Run Code Online (Sandbox Code Playgroud)

所述的关键字被用于从一个派生类中访问的基类的成员:


369*_*692 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
    }
}
Run Code Online (Sandbox Code Playgroud)


Luc*_*ore 9

您符合方法调用的条件:

base.foo();
Run Code Online (Sandbox Code Playgroud)