static void RunTest() { Action <int, int> adder = pluginsManager.GetHookDelegate <Action <int, int> >("testadder"); Console.WriteLine("Test invoke {0} {1}", 1, 2); adder?.Invoke(1, 2); Console.WriteLine("Test invoke {0} {1}", 2, 3); adder?.Invoke(2, 3); PluginArgsContainer testContainer = new PluginArgsContainer { value = 1 }; Console.WriteLine("PluginArgsContainer {0}", testContainer.value); pluginsManager.ExecutePlugin("testcontainer", testContainer); Console.WriteLine("PluginArgsContainer {0}", testContainer.value); }
static void Main(string[] args) { PluginsManager pManager = PluginsManager.Instance; Console.WriteLine($"Current plugins count: {pManager.PluginCount}"); Console.WriteLine($"HasType DataLoader? Answer: {pManager.HasType(PluginType.DataLoader)}"); Console.WriteLine($"HasPlugin DataLoader? Answer: {pManager.HasType(PluginType.DataLoader)}"); var config = new CsvFileConfiguration(@"C:\temp\config.txt"); Console.WriteLine($"Loading plugin TestPlugin's configuration, result is: {pManager.LoadPluginConfiguration(PluginType.DataLoader, "TestPlugin",config)}"); Console.WriteLine($"Running plugin TestPlugin, result is: {pManager.ExecutePlugin(PluginType.DataLoader, "TestPlugin")}"); Console.WriteLine($"Printing current available plugins"); foreach (var plugin in pManager.GetPlugins()) { Console.WriteLine($"Name: {plugin.Name}, Description: {plugin.Description}, Version: {plugin.Version}, Type: {plugin.Type}"); } Console.ReadKey(); }