2015-11-12 1 views
1

Existe-t-il un moyen de faire apparaître un morceau de code dans la méthode lors de la substitution? comme ceci:C#, VS Rendre un morceau de code à afficher dans la méthode de classe dérivée lors de la substitution

public class BaseClass 
    { 
     public abstract void SomeMethod() 
     { 
     //here want to place a piece of code which I want to use in derived class while overriding (for ex. try-catch block) 
     try 
     { 
     } 
     catch 
     { 
     } 

     } 
    } 

public class DerivedClass : BaseClass 
{ 
    public override void SomeMethod() 
    { 
     //here I would like for try-catch block to appear like informing me that it is the snippet which makes using of that method is better in this case 
    } 
} 

Je ne veux pas courir un code de la classe de base. Je veux juste que la méthode surchargée apparaisse pré-remplie avec un extrait de la classe de base comme m'informer que c'est l'extrait qui rend l'utilisation de cette méthode meilleure dans ce cas

Par exemple, quand je suis prioritaire méthode dans Visual Studio via IntelliSense, "throw new NotImplementedException();" le texte apparaît dans la méthode. Mon but est de montrer un autre extrait à la place.

+0

Vous ne savez pas exactement ce que vous demandez. Souhaitez-vous que VS remplisse automatiquement les méthodes substituées avec le code de la méthode de classe de base? Kinda bat le point de déroger. – jready

+0

Oui, quelque chose comme ça. – DIN

+0

Par exemple, lorsque je redéfinis la méthode dans Visual Studio via IntelliSense, "throw new NotImplementedException();" le texte apparaît dans la méthode. Mon but est de montrer un autre extrait à la place. – DIN

Répondre

0

Vous ne pouvez pas faire ce que vous demandez, mais il y a deux façons de faire quelque chose de similaire. Le premier consiste à déclarer une méthode dans votre classe contenant le code - votre méthode l'appelle et continue ensuite.

La seconde consiste à créer une classe abstraite avec une méthode abstraite (ou simplement une classe normale avec une méthode vide). Avoir une méthode dans votre classe abstraite qui contient le code que vous voulez et à l'intérieur il appelle la méthode abstraite.

Votre nouvelle classe doit implémenter cette méthode abstraite mais l'autre code sera appelé avant et après l'appel de la méthode abstraite.

+0

Merci beaucoup. Je pense que cela devrait fonctionner. Et comme je le sais déjà, il a un nom de Template Method Pattern. – DIN