VB.net中的获取引用方法
我试图在vb.net中获得引用方法 e、 我有一个通用方法(sendMail)来处理用户的电子邮件,任何其他方法都可以调用它。我希望sendMail在发送电子邮件时将一个条目记录到数据库中。在此日志中,我需要调用sendMail的方法的名称。我可以通过传递参数来实现,但我想知道sendMail是否可以访问调用它的方法的名称 我发现这篇文章在vs中非常有效 但不幸的是,我在一个专有应用程序及其IDE中工作,我从StackFrame得到的输出是“在file:line:column:0:0中偏移量1438处执行”。我认为这可能是因为Jon在示例中使用的StackFrame在调试模式下工作,而不是在发布模式下工作。(MSDN提到了调试模式,但我这里不是100%确定) 是否有其他获取调用方法名称的方法? 还是我使用StackFrame不正确 提前欢呼 dno 试试看:VB.net中的获取引用方法,vb.net,Vb.net,我试图在vb.net中获得引用方法 e、 我有一个通用方法(sendMail)来处理用户的电子邮件,任何其他方法都可以调用它。我希望sendMail在发送电子邮件时将一个条目记录到数据库中。在此日志中,我需要调用sendMail的方法的名称。我可以通过传递参数来实现,但我想知道sendMail是否可以访问调用它的方法的名称 我发现这篇文章在vs中非常有效 但不幸的是,我在一个专有应用程序及其IDE中工作,我从StackFrame得到的输出是“在file:line:column:0:0中偏移量14
此方法很可能返回其调用方的名称,只需稍作调整,您就无法通过增加帧数组的索引来调整它以嵌套回调用方。
祝你好运,请原谅我的无知。我是DBA。不是.NET开发人员。此代码示例适用于c#?是这样吗?你完全正确,两种语言中的名称空间都是一样的。如果你还有其他问题的话,那没什么区别。我准备好了。我可能忘了提到您应该包括System.Diagnostics VB:imports System.Diagnostics C#:using System.Diagnostics
public string GetStackTrace()
{
StackTrace st = new StackTrace(true);
StackFrame[] frames = st.GetFrames();
return frames[1].GetMethod().Name.ToString();
}