您的位置:首页 > 其它

如何获取动态加载DLL 类里面的事件?

2013-06-27 18:45 369 查看
现在已经能够动态的加载一个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不支持?该怎么办?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: