没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
vb.net动态加载dll并执行dll中的某一个函数
2011-05-07 00:33:49| 分类: VB.net2008或2010 | 标签:反射 动态 加载 dll |字号 订阅
注意:下面的Dll文件必须是用托管代码写的,否则请使用API的相应函数进行动态加载。
一、
比如我事先写了一个类,如下:
Public Class TestClass
Public Function Add(ByVal add1 As Integer, ByVal add2 As Integer) As Integer
Return add1 + add2
End Function
End Class
然后编译成了ClassDll.dll文件.
二、
在另一个程序中,我写入了如下代码
Public Function Add(ByVal add1 As Integer, ByVal add2 As Integer) As Integer
Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("ClassDll.dll")
Dim classtemp As Type = asm.GetType("ClassDll.dll.TestClass")
Dim obj As Object = asm.CreateInstance(classtemp.FullName)
Dim me_Info As System.Reflection.MethodInfo = classtemp.GetMethod("Add")
Dim paramter(1) As Object
paramter(0) = add1
paramter(1) = add2
Return me_Info.Invoke(obj, paramter)
End Function
执行上面的Add函数其功能和执行一中的Add函数是一样的。
当然,执行上面的函数的另一种方法是:(之前我用上面的方法反射执行一个exe文件里的函数时,总是失败,但是按照下面的方法就可以成功执行,你要是遇到问题时,不妨按照下面的方法试一试)
Public Function Add(ByVal add1 As Integer, ByVal add2 As Integer) As Integer
Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("ClassDll.dll")
Dim classtemp As Type = asm.GetType("ClassDll.dll.TestClass")
2011-05-07 00:33:49| 分类: VB.net2008或2010 | 标签:反射 动态 加载 dll |字号 订阅
注意:下面的Dll文件必须是用托管代码写的,否则请使用API的相应函数进行动态加载。
一、
比如我事先写了一个类,如下:
Public Class TestClass
Public Function Add(ByVal add1 As Integer, ByVal add2 As Integer) As Integer
Return add1 + add2
End Function
End Class
然后编译成了ClassDll.dll文件.
二、
在另一个程序中,我写入了如下代码
Public Function Add(ByVal add1 As Integer, ByVal add2 As Integer) As Integer
Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("ClassDll.dll")
Dim classtemp As Type = asm.GetType("ClassDll.dll.TestClass")
Dim obj As Object = asm.CreateInstance(classtemp.FullName)
Dim me_Info As System.Reflection.MethodInfo = classtemp.GetMethod("Add")
Dim paramter(1) As Object
paramter(0) = add1
paramter(1) = add2
Return me_Info.Invoke(obj, paramter)
End Function
执行上面的Add函数其功能和执行一中的Add函数是一样的。
当然,执行上面的函数的另一种方法是:(之前我用上面的方法反射执行一个exe文件里的函数时,总是失败,但是按照下面的方法就可以成功执行,你要是遇到问题时,不妨按照下面的方法试一试)
Public Function Add(ByVal add1 As Integer, ByVal add2 As Integer) As Integer
Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile("ClassDll.dll")
Dim classtemp As Type = asm.GetType("ClassDll.dll.TestClass")
资源评论
samuelhu888
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功