获取调用方法的名称

时间:2015-06-18 17:07:50

标签: c#

假设,我正在调用GetMethodB(),它作为参数传递给GetmethodA()和GetMethodAA()。如何获取调用GetMethodB();

的这些方法的名称
ClassName.GetMethodA(GetMethodB());
ClassName.GetMethodAA(GetMethodB());

3 个答案:

答案 0 :(得分:5)

您无法执行此操作:在调用GetMethodB时,GetMethodAGetMethodAA均未激活。

调用顺序如下所示:

  • 您的方法调用GetMethodB(),并获得其结果
  • 您的方法调用GetMethodA(...)GetMethodB()调用
  • 的结果传递给它
  • 您的方法再次调用GetMethodB(),并获得其结果
  • 您的方法调用GetMethodAA(...)将第二次GetMethodB()调用
  • 的结果传递给它

在这两种情况下,GetMethodB的调用者都是您当前的方法,从中进行调用。

如果GetMethodB需要知道其调用者,那么您应该明确地识别该方法的调用者 - 例如,通过传递enumstring参数。

答案 1 :(得分:0)

使用getmethodB的结果调用这两个方法,因此getmethodB的调用者与getmethodA和/或getmethodAA的调用者相同。 你无法找到传递另一种方法结果的方法。

  • 首先调用getMethodB,
  • 结果已被捕获
  • 并传递给其他方法。

Callstacks或任何其他技巧在这里无济于事。

答案 2 :(得分:-1)

使用StackFrame

margin-top