我在创建可以在其他功能中使用的全局数组时遇到了问题。
我在“Public Class myClass”下面有这个代码:
Dim LoadedPlugins As Array
然后在一个函数中我有这个:
Dim PluginList As String() = Directory.GetFiles(appDir, "*.dll")
For Each Plugin As String In PluginList
Dim Asm As Assembly
Dim SysTypes As System.Type
Asm = Assembly.LoadFrom(Plugin)
SysTypes = Asm.GetType(Asm.GetName.Name + ".frmMain")
Dim IsForm As Boolean = GetType(Form).IsAssignableFrom(SysTypes)
If IsForm Then
Dim tmpPlugin As PluginAPI = CType(Activator.CreateInstance(SysTypes), PluginAPI)
LoadedPlugins(count) = tmpPlugin
在接口文件中我有:
Public Interface PluginAPI
Function PluginTitle() As String
Function PluginVersion() As String
Function CustomFunction() As Boolean
End Interface
现在显然这不起作用,如何将tmpPlugin添加到数组或列表中,以便我可以在其他函数中使用它?
我需要做的主要事情是遍历所有加载的插件,并在一个单独的函数中执行CustomFunction,而不是加载上面列出的插件。
任何人都可以帮助我吗?
答案 0 :(得分:0)
将此用于昏暗: 公共共享 LoadedPlugins As Array
但是我注意到了一些事情 一些提示,使编写程序更快(最后,但更多的设计思路):