c# 方法调用链System.Diagnostics.StackTrace
来源:互联网 发布:北京市网络宣传管理处 编辑:程序博客网 时间:2024/06/01 17:03
一般用下面的方法处理:
/// <summary>/// 获取调用链上的方法/// </summary>/// <param name="depth">回朔深度</param>public static MethodBase GetCurrentMethod(int depth) { try { System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(); return st.GetFrame(depth).GetMethod(); } catch { return null; }}具体的调用回溯怎么理解请看下面的小demo:
static void Main(string[] args) { method1(); Console.ReadKey();}static void method1() { method2(); Console.ReadLine();}static void method2() { System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(true); Console.WriteLine(st.GetFrame(2).GetMethod().Name.ToString()); Console.WriteLine(st.GetFrame(1).GetMethod().Name.ToString()); Console.WriteLine(st.GetFrame(0).GetMethod().Name.ToString());}输出结果:
0 0
- c# 方法调用链System.Diagnostics.StackTrace
- c#调用exe文件:System.Diagnostics.Process.Start()的使用
- C#使用StackTrace获取方法被谁调用
- C# System.Diagnostics.Process.Start()
- Diagnostics.StackTrace指定堆栈帧
- c#在程序中调用另一个程序,并进行异常捕捉——System.Diagnostics.Process
- C# System.Diagnostics.Process.Start的妙用
- System.Diagnostics System.ComponentModel
- C#中关于System.Diagnostics.Process的应用(转)
- C#中关于System.Diagnostics.Process的应用
- System.Diagnostics.Debug和System.Diagnostics.Trace
- System.Diagnostics.Debug和System.Diagnostics.Trace
- System.Diagnostics.Debug和System.Diagnostics.Trace
- System.Diagnostics.Debug和System.Diagnostics.Trace
- 计算代码片段运行时间的方法 System.Diagnostics.Stopwatch
- System.Diagnostics.Process
- System.Diagnostics.Process
- System.Diagnostics.Process.Start
- linux下查看主板内存槽与内存信息
- 各种浏览器的USERAGENT格式(useragent)
- 2、Linux下实现按键驱动的几种方式
- UIAlertView弹出视图动画效果
- linux命令指seq
- c# 方法调用链System.Diagnostics.StackTrace
- 【转自《一棵树-博客园》】SQL Server系统表sysobjects介绍与使用
- 老鼠试药
- 熟练掌握人生的七种工具
- [L2TP VPN]Win2003搭建常见问题
- 浏览器工作原理
- 编辑测试用
- AMQP之RabbitMQ安装与配置
- 编译安装mongo使用rocksdb引擎