检索 .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中文网其他相关文章!