我是一名有用的助手,可以为您进行翻译。以下是您需要翻译的内容:
这很完美。但现在我想在我的dll文件中触发一个事件,并在我的主应用程序中处理它们。我开始添加以下代码到我的dll:
我的问题是我不知道如何在主程序中“捕获”事件。这是否可能?我已经尝试过
但我没有进展...对此有什么帮助吗?
我有一个 VB.NET 应用程序,动态加载一些 dll 文件。所有插件都在一个文件夹中,我的应用程序从该文件夹加载所有 dll 文件。
为了加载一个 dll,我使用以下代码
_aAssembly = Reflection.Assembly.LoadFile(_File.FullName)
_aClass = _aAssembly.GetType(_AssemblyName & "." & ClassName)
_aAddin = Activator.CreateInstance(_aClass)
在此dll中运行一个方法
Function RunMethod(ByVal Method As String, Optional ByVal Paramter() As Object = Nothing) As Object
Dim aMethode As MethodInfo = _aClass.GetMethod(Method)
Return aMethode.Invoke(_aAddin, Paramter)
End Function
这很完美。但现在我想在我的dll文件中触发一个事件,并在我的主应用程序中处理它们。我开始添加以下代码到我的dll:
Public Shared Event GotSomethingToSend(Str As String)
我使用以下代码触发事件:
RaiseEvent GotSomethingToSend(Str)
我的问题是我不知道如何在主程序中“捕获”事件。这是否可能?我已经尝试过
GetEvent()
:Dim ei As EventInfo = _aAssembly.GetType(_AssemblyName & "." & ClassName).GetEvent("GotSomethingToSend")
但我没有进展...对此有什么帮助吗?
Private Sub MyGotSomethingToSendHandlerMethod(Str As String)
应该可以正常工作... - Christian Hayter