zoukankan      html  css  js  c++  java
  • 如何取得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

  • 相关阅读:
    hdu 1863 畅通工程
    poj 2524 Ubiquitous Religions
    04 Linux终端命令01
    05 linux中yum源报错
    Filterg过滤器和Listener监听器
    03 Centos的文件目录、远程连接工具及快照操作
    02 安装虚拟机以及设置虚拟机网卡信息
    01VM虚拟机介绍及配置虚拟机网卡信息
    Jstl表达式
    EL表达式
  • 原文地址:https://www.cnblogs.com/jishu/p/1940050.html
Copyright © 2011-2022 走看看