各位高手,两个组件A和B,A中的C方法调用B中的方法D,我现在想在执行的过中在D方法中可以得到C的方法名和A组件的类名、组件名、命名空间。请问可以实现吗?
如果可以的话,能给出示例代码吗?因为我对这个完全不了解,没概念。
先谢谢各位了。

解决方案 »

  1.   

    StackTrace trace = new StackTrace();MethodBase method trace.GetFrame( 1 ).GetMethod()
      

  2.   

    然后你自己去查MethodBase的属性……
      

  3.   

    to Ivony() 
    不行啊,我查了一下,用下面这些方法
    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName;
    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Module.ToString();
     System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace;取出来的是D的方法名、类名B以及命名空间等,而不是调用者的方法名、类名、组件名等。
    怎么回事呢?
      

  4.   

    StackTrace trace = new StackTrace();MethodBase method trace.GetFrame( 2 ).GetMethod()改成2……
      

  5.   

    非常感谢Ivony() 
    开始我理解错了,应该为1,你开头回答的那个,谢谢了!