试一下这样,参数自己改
Dim filePath As String = Args(0) '文件路径
Dim className As String = Args(1) '模块名
Dim methodName As String = Args(2) '函数名
Dim paramter() As Object = Args(3) '参数集
If FileSys.FileExists(filePath ) = False Then
MessageBox.Show("文件不存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
Return Nothing
End If
Dim fileName As String = system.io.Path.GetFileNameWithoutExtension(filePath) '取文件名
Try
Dim asm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile(filePath)
Dim classtemp As Type = asm.Gettype(fileName & "." & className,True)
Dim obj As Object = asm.CreateInstance(classtemp.FullName)
Dim me_Info As System.Reflection.MethodInfo = classtemp.GetMethod(methodName)
Return me_Info.Invoke(obj, paramter)
Catch exception1 As Exception
Dim exception As Exception = exception1
MessageBox.Show(("调用DLL执行出错,错误信息:" & exception.InnerException.ToString), "警告", MessageBoxButtons.OK, MessageBoxIcon.Hand)
Return Nothing
End Try
调用
Dim str As String = "E:\shishi\测试.dll"
Dim paramter(1) As Object
paramter(0) = 1
paramter(1) = 5
Dim ob As object = Functions.Execute("动态DLL",str,"Class1","aa",paramter)
If ob IsNot Nothing Then
Output.show(ob)
End If