C#堆栈跟踪采取以下形式:
at Foo.Core.Test.FinalMethod(Doh doh) in C:\Projects\src\Core.Tests\Test.cs:line 21 at Foo.Core.Test.AnotherMethod(Bar bar) at Foo.Core.Test.AMethod() in C:\Projects\src\Core.Tests\Test.cs:line 6 at Foo.Core.Test.<>c__DisplayClass7.<SomeAnonDelegate>b__6(Object _) in C:\Projects\src\Core.Tests\Test.cs:line 35
>是否有任何现有的课程?
>如果不是最好的方法呢?
>正则表达式我如何贪婪地匹配命名空间,但离开类和方法?
>自定义解析器
会欣赏一些想法和投入.
解决方法
如果您从
StackTrace获得此数据,则可以通过
GetFrame循环访问
StackFrames,并调用
GetMethod,GetFileName和
GetFileLineNumber.可以从方法中检索命名空间和类.
编辑
响应第一条评论(不幸的是我们从Exception.StackTrace获取痕迹),您可以调用StackTrace(Exception)构造函数.
编辑
我应该链接到这个构造函数 – StackTrace(Exception,bool).