调用基类的方法

Ave*_*y3R 58 c# oop

在c ++中,我会这样做

class A
{
public:
    virtual void stuff()
    {
        //something
    }
};

class B : public A
public:
    virtual void stuff()
    {
        //something2
        A::stuff() //something
    }
};
Run Code Online (Sandbox Code Playgroud)

我怎么用C#做这个?我试过了

public void stuff()
{
    //something2
    A.stuff(); //something
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用

Meh*_*dad 112

base是在C#中引用超类的关键字.使用:

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

  • 这就像Java中的super.stuff()吗? (2认同)
  • @pratnala:是的. (2认同)

Ale*_*Aza 6

使用base.喜欢base.stuff();


Dll*_*lyn 5

只是为了添加到上面的答案, base.stuff() 工作,除非它是您尝试调用的构造函数,在这种情况下它被称为:

class A
{
public:
    public A(){}

};

class B : A
{
    public B() : base()
    {

    }
};
Run Code Online (Sandbox Code Playgroud)