2017-06-28 2 views
-2
virtual void MyMethod() 
{ 
    DoOneThing(); 
} 

Je veux mettre en œuvre DoAnotherThing() avec DoOneThing() ici-application supplémentaire dans la version overrided d'une méthode virtuelle

override void MyMethod() 
{ 
    //DoOneThing() also. 
    DoAnotherThing(); 
} 

Est-il possible?

+0

Désolé, c'est une faute de frappe. J'ai mis à jour ma question. –

+0

Utilisez juste 'base.MyMethod();' – maccettura

+1

Copie possible de [Comment puis-je appeler la 'implémentation de base' d'une méthode virtuelle substituée?] (Https://stackoverflow.com/questions/1334254/how-can-i -call-the-base-implementation-of-an-overridden-virtual-method) – maccettura

Répondre

1

Ici petit exemple

abstract class Foo 
{ 
    public virtual void MyMethod() 
    { 
     Console.WriteLine("DoOneThing"); 
    } 
} 

class MegaFoo : Foo 
{ 
    public override void MyMethod() 
    { 
     base.MyMethod(); // call Foo.MyMethod 
     Console.WriteLine("DoAnotherThing"); 
    } 
}