我正在编写一个类,它必须作为 dll 文件添加到任何 .NET 项目中。我陷入了困境,我需要向 System.Diagnostics.StackTrace “last_method_name_changed” 发起事件。
所以我需要找到一种方法来检测 StackTrace 中的变化,或者创建线程进入或退出方法时引发的事件。就像是:
Public Class DllClass
Public Shared CallerTrace as StackTrace = Nothing
Public Shared New(ByRef NewTrace as StackTrace) 'This is called from form.
'''I know this will make a copy, but I have failed to find a solution.
CallerTrace = NewTrace
End Sub
Public Shared Sub StackTrace_Changed() Handles CallerTrace.Changed
MsgBox(CallerTrace.GetFrame(0).GetMethod.Name)
End Sub
End Class
在主窗体中,这应该只调用一次:
Dim DllCls as New DllClass(New Diagnostics.StackTrace)
对于制作“参考链接”或指向 StackTrace 的指针以及在CallerTrace.GetFrame(0).GetMethod.Name
更改时将引发的事件的任何帮助,我将不胜感激。