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

  • 相关阅读:
    lintcode 中等题:interleaving String 交叉字符串
    lintcode 中等题:subsets II 带重复元素的子集
    lintcode 中等题:subSets 子集
    单机安装HBase
    编写运行R脚本
    R语言归一化处理
    HBase 常用Shell命令
    HBase基础知识
    Tomcat启动脚本
    Nginx配置文件详解
  • 原文地址:https://www.cnblogs.com/jishu/p/1940050.html
Copyright © 2011-2022 走看看