zoukankan      html  css  js  c++  java
  • C# 获取调用方信息

    using   System;
    using   System.Diagnostics;
    using   System.Reflection;

    namespace   MyTest
    {
        public   class   TestM
        {
        public   void   Test()
    {
    StackFrame   fr   =   new   StackFrame(1,true);
    MethodBase   mb   =   fr.GetMethod();
    Console.WriteLine(mb.Name);
    Console.WriteLine(mb.DeclaringType.Assembly.GetName());
        }
        }
    }

    另外,也可以使用 System.Reflection.Assembly.GetCallingAssembly   方法来获取调用当前程序集的程序集信息
    /*如何在被调用方法中获取调用方的相关信息呢?
    可以利用调用堆栈来获取这些信息,利用调用堆栈可以获取很多有用的信息。
    */
    //实例:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Reflection;
    using System.Diagnostics;
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                MyTest t = new MyTest();
                t.add(1);
            }
        }

        public class MyTest
        {        public void add(int i)
            {
                i++;      
                StackTrace ss = new StackTrace(true);
                Type t = ss.GetFrame(1).GetMethod().DeclaringType;
                MessageBox.Show(t.FullName);
            }
        }
    }

    原文:http://www.cnblogs.com/johnsonton/articles/2323414.html

    http://topic.csdn.net/u/20070828/19/606fdf97-7ec0-4fbe-a0d4-ec69372374cd.html
     

  • 相关阅读:
    超前进位加法器
    Xilinx ISE 12.3 LED测试程序
    位图文件(BMP)格式以及Linux下C程序实现
    SPB16.3安装系列指导
    Debian6显卡驱动安装
    深入浅出之正则表达式
    一个在台积电工作3年的工程师写给学弟学妹们的信
    Debian下解决MP3标题乱码
    ubuntu下安装usbblaster(更新)
    乘法器的Verilog HDL实现
  • 原文地址:https://www.cnblogs.com/yiki/p/2530036.html
Copyright © 2011-2022 走看看