擷取 .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中文網其他相關文章!