Obtention des noms de méthodes et de types à l'aide de Reflection
En C#, il est possible d'obtenir le nom de la méthode appelant la méthode actuelle ainsi que son entourant le nom de la classe. Voici comment y parvenir en utilisant la réflexion C# :
public class SomeClass { public void SomeMethod() { StackFrame frame = new StackFrame(1); var method = frame.GetMethod(); var type = method.DeclaringType; var name = method.Name; } }
Par exemple, considérons le code suivant :
public class Caller { public void Call() { SomeClass s = new SomeClass(); s.SomeMethod(); } }
Dans ce scénario, le nom serait « Appeler » et le type serait "Caller".
Remarque : Cette méthode utilise StackFrame pour accéder à la méthode appelante. informations.
Mise à jour pour .NET 4.5 et versions ultérieures
Pour .NET 4.5 et versions ultérieures, il existe une approche plus pratique utilisant CallerMemberNameAttribute. Cet attribut vous permet de spécifier un paramètre de méthode qui se verra automatiquement attribuer le nom de la méthode appelante. Par exemple :
public class SomeClass { public void SomeMethod([CallerMemberName]string memberName = "") { Console.WriteLine(memberName); // Output will be the name of the calling method } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!