C#:方法调用详细信息

时间:2010-11-30 11:18:11

标签: c#

我有一个使用C#开发的网站。我想看一个方法的调用者,即哪个方法/事件处理程序调用我的方法。

假设有一个按钮点击。我想看到如下

btnClick  BusinessLayerClass.SaveDocs(int docID, string docType) DataAccessLayerClass.Update()

btnClick  BusinessLayerClass.SaveDocs(int docID, string docType) DataAccessLayerClass.Increase()

是否可以看到这样的堆栈信息?请指教..

注意:所有项目都添加为dll。没有像WCF这样的服务。

1 个答案:

答案 0 :(得分:4)

可以使用System.Environment.StackTrace

private void button1_Click(object sender, EventArgs e)
    {
                StackTrace st = new StackTrace(true);
        StackFrame[] fram = st.GetFrames();

        foreach (StackFrame sf in fram)
        {
            sf.GetFileColumnNumber();
            sf.GetFileLineNumber();
            sf.GetFileName();
            sf.GetILOffset();
            sf.GetMethod();

        }
    }