我怎样才能获得在C#中调用方法 [英] How I can get the calling methods in C#

查看:154
本文介绍了我怎样才能获得在C#中调用方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


  

可能重复:结果
  <一href=\"http://stackoverflow.com/questions/171970/how-can-i-find-the-method-that-called-the-current-method\">How我能找到调用当前方法的方法?


我需要一种方法来了解调用C#方法的名称。

例如:

 私人无效DoSomething的()
{
//我需要知道谁在叫我? (方法1或方法2)。//做根据谁喊你的东西?
}私人无效方法1()
{
 做一点事();
}私人无效方法2()
{
 做一点事();
}


解决方案
从<α

href=\"http://www.csharp-examples.net/reflection-calling-method-name/\">http://www.csharp-examples.net/reflection-calling-method-name/

 使用System.Diagnostics程序;//获取调用堆栈
堆栈跟踪堆栈跟踪=新的堆栈跟踪();//获取调用方法名
Console.WriteLine(stackTrace.GetFrame(1).GetMethod()名称。);

Possible Duplicate:
How can I find the method that called the current method?

I need a way to know the name of calling methods in C#.

For instance:

private void doSomething()
{
// I need to know who is calling me? (method1 or method2).

// do something pursuant to who is calling you?
} 

private void method1()
{
 doSomething();
}

private void method2()
{
 doSomething();
}

解决方案

from http://www.csharp-examples.net/reflection-calling-method-name/

using System.Diagnostics;

// get call stack
StackTrace stackTrace = new StackTrace();

// get calling method name
Console.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);

这篇关于我怎样才能获得在C#中调用方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆