我不推荐这种方法 - 其他海报指出了处理这种方法的更好方法.但如果你真的,真的需要知道谁给你打电话,而不改变C()参数,你可以这样做:
static void A()
{
C();
}
static void C()
{
StackTrace st = new StackTrace();
Console.WriteLine(st.GetFrame(1).GetMethod().Name); // prints "A"
}
Run Code Online (Sandbox Code Playgroud)
请注意,生成StackTrace有点昂贵.但是,这并不是什么大问题,除非你在代码中这么做,而且你经常打电话.
同样,你几乎肯定会找到一种更好的方式来做你想做的事情.
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |