Il peut être très utile de récupérer le nom de la classe et de la méthode courante. Pour se faire, il suffit d’ajouter la méthode suivante dans une classe utilitaire :

Utils.cs

public static string GetCurrentMethodName()
{
    StackTrace stackTrace = new StackTrace();
    StackFrame stackFrame = stackTrace.GetFrame(1);
    return stackFrame.GetMethod().DeclaringType + " :: " + stackFrame.GetMethod().Name;
}

La méthode renvoie le nom de la classe et de la méthode qui l’a appelé. On peut notamment créer un système de log qui contiendra le nom de la classe et de la méthode qui appelle la fonction “Log(string message, string source)”:

Program.cs

public void MyMethod()
{
    Log("Divion by zero!", Utils.GetCurrentMethodName());
}

Dans la méthode log, nous récupérons les valeurs suivantes:
message: Division by zero
source: Program :: MyMethod

Last modified: 17 October 2011

Author

Comments

Write a Reply or Comment

Your email address will not be published.