C#获取调用某个函数的函数列表

C#获取调用某个函数的函数列表,c#,reflection,C#,Reflection,这与这个问题有点相切: 是否可以使用反射来获取调用其主体中的“PopularMethod”函数的函数列表? Ie:[主,按钮点击,按钮点击] 更新: 这就是我要找的!呜!谢谢大家看看,里面有StackTrace类,可能会有帮助 StackTrace st = new StackTrace(true); for(int i =0; i< st.FrameCount; i++ ) { // Note that high up the call stack, there is only

这与这个问题有点相切:

是否可以使用反射来获取调用其主体中的“PopularMethod”函数的函数列表? Ie:[主,按钮点击,按钮点击]

更新: 这就是我要找的!呜!谢谢大家

看看,里面有
StackTrace
类,可能会有帮助

StackTrace st = new StackTrace(true);
for(int i =0; i< st.FrameCount; i++ )
{
    // Note that high up the call stack, there is only
    // one stack frame.
    StackFrame sf = st.GetFrame(i);
    Console.WriteLine();
    Console.WriteLine("High up the call stack, Method: {0}",
        sf.GetMethod());

    Console.WriteLine("High up the call stack, Line Number: {0}",
        sf.GetFileLineNumber());
}
StackTrace st=新的StackTrace(true);
对于(int i=0;i
您可以使用一个属性让运行时服务为您获取此信息:

public void PopularMethod([System.Runtime.CompilerServices.CallerMemberName] string memberName = "")
{

}
请在此处阅读更多信息:

Sure-visual studio中的静态分析工具和其他第三方工具可以做到这一点。不过,框架中没有内置任何东西。@D Stanley我想这些工具可以解析实际代码,并以这种方式定位声明/用法。我想知道你们为什么要用编程的方式来做这个?解决方案应该和这个类似。你们可以用这个来找到所有调用PopularFunction的被调用函数。这将找不到未调用的引用,因此不确定是否可以提供每个引用的列表。感谢您的回复,但这并不是我想要的。这需要调用PopularMethod。我更希望只使用C#反射而不使用任何方法来获得编程调用层次结构。我现在明白了。那么看看这个:
public void PopularMethod([System.Runtime.CompilerServices.CallerMemberName] string memberName = "")
{

}