web-dev-qa-db-fra.com

Comment obtenir le nom de la fonction actuelle?

Duplicata possible:
Pouvez-vous utiliser la réflexion pour trouver le nom de la méthode en cours d'exécution?
C # comment obtenir le nom de la méthode actuelle à partir du code

Par exemple:

void foo() {
    Console.Write(__MYNAME__);
}

impression: foo

il est possible de le faire en C #?

45
Jack

Essaye ça:

System.Reflection.MethodBase.GetCurrentMethod().Name 
106
Raphaël Althaus

Vous pouvez vérifier la trace de la pile

using System.Diagnostics;

// get call stack
StackTrace stackTrace = new StackTrace();

// get calling method name
Console.WriteLine(stackTrace.GetFrame(0).GetMethod().Name);

Mais attention, si la méthode est en ligne, vous obtenez le nom de la méthode parent.

14
Albin Sunnanbo