CodeSnippet.Cn
代码片段
Csharp
架构设计
.NetCore
西班牙语
kubernetes
MySql
Redis
Algorithm
Ubuntu
Linux
Other
.NetMvc
VisualStudio
Git
pm
Python
WPF
java
Plug-In
分布式
CSS
微服务架构
JavaScript
DataStructure
Shared
.netCore 堆栈调用方法
1
.NetCore
小笨蛋
发布于:2021年09月27日
更新于:2021年09月27日
180
#custom-toc-container
```csharp ///
/// 获取堆栈 ///
///
public static string GetStackTraceModelName() { //当前堆栈信息 System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); System.Diagnostics.StackFrame[] sfs = st.GetFrames(); //过虑的方法名称,以下方法将不会出现在返回的方法调用列表中 string _fullName = string.Empty, _methodName = string.Empty; for (int i = 1; i < sfs.Length; ++i) { //非用户代码,系统方法及后面的都是系统调用,不获取用户代码调用结束 if (System.Diagnostics.StackFrame.OFFSET_UNKNOWN == sfs[i].GetILOffset()) break; var methedInfo = sfs[i].GetMethod(); _methodName = methedInfo.ReflectedType.FullName + "." + methedInfo.Name;//方法名称 //sfs[i].GetFileLineNumber();//没有PDB文件的情况下将始终返回0 // if (_filterdName.Contains(_methodName)) continue; _fullName = _methodName + "()\r\n->" + _fullName; } st = null; sfs = null; return _fullName.TrimEnd('-', '>'); } ``` 这个方法适用于.netFramework和.netCore,可用于做日志记录,调用链等行为。
这里⇓感觉得写点什么,要不显得有点空,但还没想好写什么...
返回顶部
About
京ICP备13038605号
© 代码片段 2024