请问如果获取动态加载DLL 类里面的事件?
苏格兰之风 2013-06-27 08:32:31 小弟现在已经能够动态的加载一个dll文件,并可执行他的一个函数,但是如果这个DLL类里面包含一个事件,当触发时,我该如何获取他反馈 的信息呢?谢谢,
Public Class ModbusRtu
'这个是生成的DLL文件类
Public Function StartWork(ByVal gt As String)
Dim i As Integer = 0
For i = 0 To 100
System.Threading.Thread.Sleep(1000)
Call StartEvent(Now())
Next
End Function
Public Event MyEvent(ByVal s As String) '自定义事件
Public Sub StartEvent(ByVal value As String) '触发事件函数
RaiseEvent MyEvent(value) '触发事件
End Sub
End Class
'==========================以下是加载ModBusRtu.dll这个文件
Dim asm As System.Reflection.Assembly
Dim classtemp As Type
asm = System.Reflection.Assembly.LoadFrom("ModBusRtu.dll")
classtemp = asm.GetType("ModBusRtu.ModbusRtu")
Dim obj As Object = asm.CreateInstance(classtemp.FullName)
就是加载这个dll之后,他每秒钟输出一个时间,我要能捕获,并显示他那输出的时间,VB.NET还处于刚入门,请高手赐教。。。
补充:我似乎找到了怎么用了,不过我是在vs2005 下编程,且用于WINCE6.0上。
classtemp.GetType().AddEventHandler(obj, AddressOf obj_Timer)
...
Sub obj_Timer()
' Here to deal with the timer event of your object's instance.
End Sub
不过为什么classtemp.GetType后没有“AddEventHandler”这个方法啊?是不是wince下的精简.net不支持?那我该怎么办?谢谢!!~~~