Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 29154|Répondre: 2

[Source] .NET/C# attributs NomDeMembreAppelant, CheminFileAppelant, NuméroLigneAppelant

[Copié le lien]
Publié sur 11/08/2021 09:45:56 | | | |
Trois attributs ont été introduits dans .Net 4.5 : CallerMemberName, CallerFilePath et CallerLineNumber. Avec l’aide du compilateur, vous pouvez obtenir le nom de la fonction appelante (pour être précis, elle doit être un membre), le fichier d’appel et le numéro de ligne d’appel.

Documentation:https://docs.microsoft.com/en-us ... membernameattribute

Vous pouvez aussi utiliser StackTrace et les objets StackFrame pour les obtenir, mais avec cette fonctionnalité, nous pouvons les obtenir plus facilement.

StackTrace : Représente une trace de pile, qui est une collection ordonnée d’un ou plusieurs cadres de pile.

StackFrame : Fournit des informations sur le StackFrame (un appel de fonction dans la pile d’appels qui représente le thread courant).

Auparavant, j’utilisais AOP pour obtenir le nom de la méthode de l’appelant via StackTrace, et le code est le suivant :


Grâce à cette fonctionnalité, le code de test est le suivant :

Rendus:



(Fin)




Précédent:Mise à jour MavenPolitique de mise à jour instantanée de Policy
Prochain:L’octet Java[] et InputStream sont convertis l’un en l’autre
 Propriétaire| Publié sur 27/11/2022 21:09:56 |
 Propriétaire| Publié sur 27/11/2022 22:35:47 |
Obtenir le nom actuel de la méthode à partir d’une fonction asynchrone ?

La connexion hyperlientérée est visible.

C# 5 ajoute des propriétés d’information de l’appelant, ce qui peut vous donner plus de ce que vous recherchez. Notez que ces informations insèrent les informations appropriées au moment de la compilation dans le site appelant, plutôt que d’utiliser les informations à l’exécution. Des fonctionnalités plus limitées (évidemment, vous n’avez pas la pile d’appels complète), mais beaucoup plus rapide.





Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com