首頁 >後端開發 >C++ >如何取得.NET中的目前行號?

如何取得.NET中的目前行號?

Barbara Streisand
Barbara Streisand原創
2024-12-31 21:00:15999瀏覽

How to Get the Current Line Number in .NET?

擷取 .NET 中的目前行號

取得目前執行程式碼的行號對於偵錯和記錄目的非常有用。本文探討如何在 .NET 中完成此任務。

使用呼叫者屬性

在 .NET 4.5 / C# 5及更高版本中,呼叫者屬性提供了一種便捷的方法檢索行和成員資訊:

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

// ...

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

這將顯示該行的行號和方法名稱呼叫程式碼,如:

Boo at line 39 (SomeMethodSomewhere)

其他選項

.NET 4.5之前,通常使用以下方法:

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

但是,此方法需要手動處理索引,不應該用於支援首選呼叫者屬性。

以上是如何取得.NET中的目前行號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn