2010-12-06 5 views
0

J'ai une fonction comme celui-ci dans une de mes classesComment déboguer le code dans WinForm

using MFDBAnalyser; 

namespace PrimaryKeyChecker 
{ 
    public class PrimaryKeyChecker : IMFDBAnalyserPlugin 
    { 
     public string RunAnalysis(string ConnectionString) 
     { 
      return "Srivastava"; 
     } 
    } 
} 

et quand je l'appelle la méthode RunAnalysis(string ConnectionString) dans une autre classe comme celui-ci

namespace MFDBAnalyser 
{ 
    public interface IMFDBAnalyserPlugin 
    { 
     string RunAnalysis(string ConnectionString); 
    } 
} 

Alors, comment peut Je vérifie que le RunAnalysis est de savoir si retourner Srivastava ou pas ....

+0

@Daniel: Certaines personnes n'ont peut-être pas le niveau de connaissance que vous possédez, d'où la raison pour laquelle elles viennent sur ce site. Ils apprennent et ils viennent ici pour des conseils, pas des commentaires désagréables. –

+0

@Ardman - Je suis d'accord @Daniels commentaires sont hors service –

+0

@Daniel - Ce n'est pas très utile, c'est. –

Répondre

1

Vous pouvez ajouter System.Diagnostic.Debugger.Break(), lorsque vous exécuterez votre application dans Visual Studio, le débogueur s'arrêtera à cette ligne. Vous serez alors sûr que "Srivastava" est retourné.

using MFDBAnalyser; 

namespace PrimaryKeyChecker 
{ 
    public class PrimaryKeyChecker : IMFDBAnalyserPlugin 
    { 
     public string RunAnalysis(string ConnectionString) 
     { 
      System.Diagnostic.Debugger.Break() 
      return "Srivastava"; 
     } 
    } 
} 
+0

Oui, vous pourriez. Ou vous pouvez simplement définir un point d'arrêt en cliquant dans la marge de l'éditeur sur la ligne que vous voulez arrêter l'exécution. La ligne sera surlignée en rouge foncé (sauf si vous avez changé votre schéma de couleurs). Pour les tests rapides et sales, c'est beaucoup plus facile. –

0
public void Test() 
{ 
    IMFDBAnalyserPlugin myClass = new PrimaryKeyChecker(); 
    var result = myClass.RunAnalysis("you connection string"); 
} 

Le résultat devrait être equ al à "Srivastava"

0

Votre problème est que RunAnalysis il dans une interface .

Les interfaces sont fournissent simplement une définition - dans ce cas, ce RunAnalysis devrait ressembler dans une classe qui implémente l'interface (IMFDBAnalyserPlugin)

0

Je vous conseille une lecture de ce article pour obtenir une meilleure compréhension de l'utilisation des interfaces en C#. Ce article bonne lecture aussi.

La réponse de jvanrhyn est un bon moyen de tester votre code.