获取当前调用函数的信息

2016-02-19 16:04 3 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的获取当前调用函数的信息懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

  System.Diagnostics.StackTrace可以看到很多运行时当前堆栈中有用的信息,权威参考 http://msdn.microsoft.com/zh-cn/library/system.diagnostics.stacktrace.aspx

  开始我是为了得到webservice中当前执行的方法的名称而找到的这个东西。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  下面代码演示了,一个类中方法的之间的调用次序

using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication28
{
  class Program
  {
    static void Main(string[] args)
    {
      A();
      B();
      Console.Read();
    }
    static void A()
    {
      ShowStack();
    }
    static void B()
    {
      ShowStack();
      A();
    }
    static void ShowStack()
    {
      System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(true);
      System.Diagnostics.StackFrame[] sfs = st.GetFrames();
      for (int i = sfs.Length - 1; i = 0; i--)
      {
        Console.Write(sfs[i].GetMethod().Name + "-");
      }
      Console.WriteLine("rn***************");
    }
  }
  /*
  ThreadStart-Run-ThreadStart_Context-RunUsersAssembly-ExecuteAssembly-_nExecuteAssembly-Main-A-ShowStack-
  ***************
  ThreadStart-Run-ThreadStart_Context-RunUsersAssembly-ExecuteAssembly-_nExecuteAssembly-Main-B-ShowStack-
  ***************
  ThreadStart-Run-ThreadStart_Context-RunUsersAssembly-ExecuteAssembly-_nExecuteAssembly-Main-B-A-ShowStack-
  ***************
  */
}

  具体它对你有什么用,就看你的需求和设计期的想象力了,比如蝈蝈的blog上就有一篇很好的示范: 使用 StackTrace 获得更多跟 Exception 有关的信息

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1610992.html

延伸阅读
Delphi以其优良的可视化编程,灵活的Windows API接口,丰富的底层操作越来越受到编程爱好者的青睐。 在Delphi中,通过调用Windows API,可以很方便地获取系统信息,这有助于我们编写出更好的Windows应用程序。以下程序在Delphi3.0 For Windows 9x下编译通过。 一、 用GetDriveType函数获取磁盘信息 Lbl_DriveType:Tlabel; ...
标签: Delphi
  在用Delphi 3.0开发软件时,出现了硬件驱动程序(DLL)中的函数和过程不能正常调用的问题,该硬件由英国Schlumberger公司生产,驱动程序用汇编语言编写的。其《编程指南》给出的Microsoft C的示范程序均能正常运行。但运行此软件时现出的错误提示为: Access violation at address ×××××××× in module…… 经仔细分析...
在绝大多数android机器etc路径下存放一个的apns-conf.xml文件,表示当前机器使用的apn信息通过root机器可以push出来看看,具体路径可以上网搜下 代码如下: static Uri PREFERRED_APN_URI = Uri.parse("content://telephony/carriers/preferapn"); ContentResolver cResolver = context.getContentResolver(); Cursor cr = cResolver.query...
标签: Web开发
代码如下: !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" html head meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" titleEach Document/title script type="text/javascript" (function(){ //创建一个自执行函数 function _$(el){ //声明一个类 this.eleme...
标签: Web开发
如果我们需要通过触发事件得到数据行的信息,可以用脚本了来实现,下面是单击数据行得到行信息的代码: function db(index) {     var str = new String("");     var curTRObj = this.Rows[index].Control;     //var column=this.column.lengh;     for ...

经验教程

923

收藏

50
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部