ExecutingMethodName
est destiné à imprimer le nom de la méthode de l'appelant. Par exemple:Comment imprimer le nom de la méthode d'exécution en cours via une méthode auxiliaire?
static void Main(string[] args){Auxiliary.ExecutingMethodName();}
doit imprimer principal.static void Foo(){Auxiliary.ExecutingMethodName();}
doit imprimer Foo.
static class Auxiliary
{
public static void ExecutingMethodName()
{
Console.WriteLine(new StackFrame(0).GetMethod().Name);
}
}
class Program
{
static void Main(string[] args)
{
Auxiliary.ExecutingMethodName();// should print Main
}
static void Foo()
{
Auxiliary.ExecutingMethodName();// should print Foo
}
}
Question
L'implémentation actuelle ci-dessus toujours imprimer ExecutingMethodName
ce n'est pas ce que je veux. Comment imprimer le nom de la méthode d'exécution en cours via une méthode auxiliaire?
Voté. Bonne idée. Quel est le but d'initialiser 'callerName = null'? –
"Vous appliquez l'attribut CallerMemberName à un paramètre facultatif ayant une valeur par défaut Vous devez spécifier une valeur par défaut explicite pour le paramètre facultatif Vous ne pouvez pas appliquer cet attribut à des paramètres qui ne sont pas spécifiés comme facultatifs." à partir du lien MSDN fourni. –