Maison >développement back-end >C++ >Comment obtenir le numéro de ligne actuel dans .NET ?

Comment obtenir le numéro de ligne actuel dans .NET ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-31 21:00:15999parcourir

How to Get the Current Line Number in .NET?

Récupération du numéro de ligne actuel dans .NET

Obtenir le numéro de ligne du code en cours d'exécution peut être utile à des fins de débogage et de journalisation. Cet article explique comment accomplir cette tâche dans .NET.

Utilisation des attributs de l'appelant

Dans .NET 4.5 / C# 5 et versions ultérieures, les attributs de l'appelant constituent un moyen pratique de récupérer les informations sur la ligne et le membre :

[CallerLineNumber] int lineNumber = 0;
[CallerMemberName] string caller = null;

// ...

MessageBox.Show(message + " at line " + lineNumber + " (" + caller + ")");

Cela affichera le numéro de ligne et le nom de la méthode du code appelant, tel que comme :

Boo at line 39 (SomeMethodSomewhere)

Autres options

Avant .NET 4.5, l'approche suivante était couramment utilisée :

StackTrace stackTrace = new StackTrace(true);
int lineNumber = stackTrace.GetFrame(0).GetFileLineNumber();
string caller = stackTrace.GetFrame(0).GetMethod().Name;

Cependant, cette La méthode nécessitait une gestion manuelle des index et ne devait pas être utilisée en faveur des attributs de l'appelant préféré.

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!

Déclaration:
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