Maison > développement back-end > C++ > Comment puis-je obtenir le nom de la méthode d'appel et le nom de la classe à l'aide de C# Reflection ?

Comment puis-je obtenir le nom de la méthode d'appel et le nom de la classe à l'aide de C# Reflection ?

Barbara Streisand
Libérer: 2024-12-31 14:10:16
original
350 Les gens l'ont consulté

How Can I Get the Calling Method's Name and Class Name Using C# Reflection?

Récupération des détails de la méthode d'appel à l'aide de Reflection

Lorsque vous vous lancez dans la tâche d'obtention d'informations sur la méthode d'appel, vous pouvez rencontrer le besoin d'apprendre le nom de la méthode d'appel et le contenant le nom de la classe. La réflexion C# vous donne la possibilité de rassembler ces détails efficacement.

Pour y parvenir, créez une méthode qui utilise la classe StackFrame. Instanciez un objet StackFrame avec un paramètre de 1, représentant la méthode appelante. Ensuite, appelez la méthode GetMethod() sur le frame de pile pour récupérer les informations de la méthode appelante. La propriété DeclaringType donne accès à la classe contenant la méthode appelante et la propriété Name renvoie le nom de la méthode appelante.

Par exemple, considérons l'extrait de code suivant :

public class SomeClass
{
    public void SomeMethod()
    {
        StackFrame frame = new StackFrame(1);
        var method = frame.GetMethod();
        var type = method.DeclaringType;
        var name = method.Name;
    }
}
Copier après la connexion

En conjonction avec la méthode appelante, ce code permet d'accéder au nom de la classe qui la contient via la variable type et au nom de la méthode appelante via la variable name.

Dans .NET 4.5, CallerMemberNameAttribute fournit une approche alternative et simplifiée. L'utiliser implique d'introduire un paramètre dans la méthode et de l'annoter avec l'attribut [CallerMemberName] :

public void SomeMethod([CallerMemberName]string memberName = "")
Copier après la connexion

Ici, le paramètre memberName sera automatiquement renseigné avec le nom de la méthode appelante.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal