static void Main(string[] args) { Plugins <IPlugin> plugins = new Plugins <IPlugin>(); plugins.LoadFrom(@"./"); plugins[1].Do(); Plugins <IMyPlugin> myPlugins = new Plugins <IMyPlugin>(); myPlugins.LoadFrom(@"./"); foreach (IMyPlugin plugin in myPlugins) { plugin.DIY(); } GenericMEFPluginLoader <IPlugin> loader = new GenericMEFPluginLoader <IPlugin>(@"./MEFPlugins"); List <IPlugin> MEFPlugins = loader.Plugins; foreach (var item in MEFPlugins) { item.Do(); } MEFPlugins[0].Do(); Console.ReadKey(); }
static void Main(string[] args) { Plugins<IPlugin> plugins = new Plugins<IPlugin>(); plugins.LoadFrom(@"./"); plugins[1].Do(); Plugins<IMyPlugin> myPlugins = new Plugins<IMyPlugin>(); myPlugins.LoadFrom(@"./"); foreach (IMyPlugin plugin in myPlugins) { plugin.DIY(); } GenericMEFPluginLoader<IPlugin> loader = new GenericMEFPluginLoader<IPlugin>(@"./MEFPlugins"); List<IPlugin> MEFPlugins = loader.Plugins; foreach(var item in MEFPlugins) { item.Do(); } MEFPlugins[0].Do(); Console.ReadKey(); }