• 如何取得C# 的函数调用关系


    例如我又一个四个函数:

    private void func1(){

    //我想在这个取得这个函数是有谁来调用的,我想输出一下结果:


    //func2() 调用来自 func3(),func3() 调用来自 func4(),请问可否实现

     System.Console.WriteLine("http://www.my400800.cn ");
    }


    private void func2(){

    func1();

    }


    private void func3(){

    func2();

    }


    private void func4(){

    func3();

    }

    问题解答:

    private void func1() {
       //在 func1添加如下方法就可以取得调用它的父函数名了
                StackFrame frame = new StackFrame(1);
                //frame.GetMethod().Name就是名字,frame.GetMethod()就是方法
                Console.WriteLine(" new StackFrame(1)=" + frame.GetMethod().Name);

                frame = new StackFrame(2);
                //frame.GetMethod().Name就是名字,frame.GetMethod()就是方法
                Console.WriteLine(" new StackFrame(2)=" + frame.GetMethod().Name);
                frame = new StackFrame(3);
                //frame.GetMethod().Name就是名字,frame.GetMethod()就是方法
                Console.WriteLine(" new StackFrame(3)=" + frame.GetMethod().Name);
                frame = new StackFrame(4);
                //frame.GetMethod().Name就是名字,frame.GetMethod()就是方法
                Console.WriteLine(" new StackFrame(4)=" + frame.GetMethod().Name);
    }


    输出结果如下:
     new StackFrame(1)=func2
     new StackFrame(2)=func3
     new StackFrame(3)=func4
     new StackFrame(4)=button2_Click

  • 相关阅读:
    深入研究Servlet线程安全性问题
    Sun公司java语言编码规范
    JAVA的内省机制(introspector)与反射机制(reflection)[转]
    Oracle的悲观锁和乐观锁
    java中120个经典问题
    自定义Java异常
    Java事务处理总结
    Tomcat内存溢出的三种情况及解决办法分析
    .net基础
    C#.Net中的转义
  • 原文地址:https://www.cnblogs.com/jishu/p/1940050.html
Copyright © 2020-2023  润新知