我是一个被调用的方法,我想知道是谁在调用我,请问应该怎么做?也就是说,在一个方法的执行过程中要获得当前方法的调用者方法的名称.
能做到吗?可以的话,应该怎么做?我查了System.Reflection和System.Threading等命名空间,没有发现合适的类或结构.请赐教,谢谢.

解决方案 »

  1.   

    using System; 
    using System.Diagnostics; 
     
    namespace StackTraceTest 

     /**//// <summary> 
     /// Class1 的摘要说明。 
     /// </summary> 
     class Class1 
     { 
      /**//// <summary> 
      /// 应用程序的主入口点。 
      /// </summary> 
      [STAThread] 
      static void Main(string[] args) 
      { 
       method2(); 
       //输出method2 
      } 
       
      static private void method1() 
      { 
       StackTrace st=new StackTrace(true); 
       Console.WriteLine(st.GetFrame(1).GetMethod().Name.ToString());    
      } 
     
      static private void method2() 
      { 
             method1();  
       Console.ReadLine(); 
      } 
     } 

      

  2.   

    http://community.csdn.net/Expert/topic/4414/4414927.xml?temp=.975506用StackTrace