我正在尝试在vb.net中获取引用方法。
e.g。我有一个处理电子邮件的通用方法(sendMail),任何其他方法都可以调用它。我希望sendMail在发送电子邮件时登录数据库的条目。在这个 log 中,我想要调用sendMail的方法的名称。我可以通过传递paramaters来做到这一点,但我想知道sendMail是否可以访问调用它的方法的名称。
我发现这篇文章在vs中非常有用 Is it possible to get the referring method in VB.NET? 但不幸的是我正在使用专有应用程序,他们的IDE和我从StackFrame获得的输出是'ExecuteAction at offset 1438 in file:line:column:0:0'。我想这可能是因为Jon在示例中使用的StackFrame在调试模式下工作而不是发布。 (MSDN说了一些关于调试模式但我不是100%肯定的)
是否有另一种获取调用方法名称的方法? 或者我错误地使用StackFrame?
提前干杯。
DNO
答案 0 :(得分:0)
public string GetStackTrace()
{
StackTrace st = new StackTrace(true);
StackFrame[] frames = st.GetFrames();
return frames[1].GetMethod().Name.ToString();
}
试一试: