У меня возникла проблема с созданием глобального массива, который я могу использовать в других функциях.vb.net - создание массива/списка из загруженных интерфейсов
У меня есть этот код прямо под "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 в отдельной функции, кроме той, которая загружает перечисленные выше плагины.
Может ли кто-нибудь мне помочь?
общественность поделилась мне, и ваши другие советы были полезны. Мне удалось решить мою проблему, используя: Public Shared LoadedPlugins (10) As Object LoadedPlugins (count) = tmpPlugin – Joe