zoukankan      html  css  js  c++  java
  • StackTrace

     我们在学习函数调用时,都知道每个函数都拥有自己的栈空间。一个函数被调用时,就创建一个新的栈空间。那么通过函数的嵌套调用最后就形成了一个函数调用堆栈。在c#中,使用StackTrace记录这个堆栈。你可以在程序运行过程中使用StackTrace得到当前堆栈的信息。

    class Program
        
    {
            
    static void Main(string[] args)
            
    {
                Program a 
    = new Program();
                a.FuncA();
                Console.ReadLine();
            }

            
    int FuncA()
            
    {
                FuncB();
                
    return 0;
            }


            
    private void FuncB()
            
    {
                MethodInfo method0 
    = (MethodInfo)(new StackTrace().GetFrame(0).GetMethod());
                MethodInfo method1 
    = (MethodInfo)(new StackTrace().GetFrame(1).GetMethod());
                MethodInfo method2 
    = (MethodInfo)(new StackTrace().GetFrame(2).GetMethod());
                
                Console.WriteLine(
    "Current Method is : {0}",method0.Name);
                Console.WriteLine(
    "Parent Method is : {0}", method1.Name);
                Console.WriteLine(
    "GrandParent Method is : {0}", method2.Name);
            }

        }
  • 相关阅读:
    数列(矩阵乘法+快速幂)
    最大公约数和最小公倍数问题
    解的个数(扩展欧几里得解不定方程)
    冒泡排序图(最长上升子序列变式)
    tomcat结合nginx使用小结
    ant构建web项目build脚本
    git分支合并到master
    oracle 存储过程,存储函数以及定时器的综合使用
    JPA 注解
    log4j简单应用
  • 原文地址:https://www.cnblogs.com/yongtaiyu/p/2904043.html
Copyright © 2011-2022 走看看