web-dev-qa-db-fra.com

Appel d'une méthode de classe de base

En c ++ je ferais

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

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

Comment pourrais-je faire cela en C #? J'ai essayé

public void stuff()
{
    //something2
    A.stuff(); //something
}

mais ça ne marche pas

55
Avery3R

base est le mot clé pour référencer votre superclasse en C #. Utilisation:

base.stuff();
109
Mehrdad

Utilisez base. Comme base.stuff();

6
Alex Aza

Juste pour ajouter à la réponse ci-dessus, base.stuff () fonctionne, sauf si c'est le constructeur que vous essayez d'appeler, auquel cas il est appelé comme:

class A
{
public:
    public A(){}

};

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

    }
};
1
Dllewellyn