您好,我正在使用 vb.net 中的接口类来制作插件架构。到目前为止,我还没有找到适合初学者的分步教程。但我已经做到了这一点:
主应用
Public Class PluginHandler
Interface IApplications
Sub ChangeForms()
End Interface
Public Shared Sub GetDLLFromDir(ByVal TheDir)
For Each dll As String In System.IO.Directory.GetFiles(TheDir, "*.dll")
LoadPlugin(dll)
Next
End Sub
Public Shared Sub LoadPlugin(ByVal ThePlugin)
Dim Asm = Assembly.LoadFile(ThePlugin)
Dim type As Type = Asm.GetType("TestPlugin.Class_TestPlugin")
Dim method As MethodInfo = type.GetMethod("ChangeForms")
method.Invoke(Nothing, Nothing)
End Sub
End Class
测试插件.vb
Public Class Class_TestPlugin
Implements Plugin_Application.PluginHandler.IApplications
Sub ChangeForms() Implements Plugin_Application. _
PluginHandler.IApplications.ChangeForms
Dim NewForm As New Form_Test
NewForm.Show()
End Sub
End Class
我的问题是它说要调用的方法-> 非静态方法需要一个目标。我在另一个论坛上看到可能找不到该方法。我发现它说方法名称和无效。但我不确定该怎么做。如果有人可以修改我的代码以使其工作或给我一些想法以使我的代码工作。谢谢 :)
这是我的测试项目文件夹的链接:链接