摘要: 前面已经得到了热插拔的插件原型,这次讨论如果插件是服务提供者怎么办? 我能想到的, 需要在起动时加载所有插件 然后在插件变动时,及时卸载旧的插件,加载新的插件。 如果有新插件放在目录中,需要马上加载新的插件。 如果插件被删除,我们要把对应的服务也移除。 最终使用时,如下: private void FormMain_Load(object sender, EventArgs e) { var inst = PluginManager.Instance; inst.PluginChanged += OnPluginChanged; } void OnPluginChanged(object sender, PluginManagerEventArgs e) { if (e.ChangeType == PluginChangeType.Created) { // 这里初始化插件,提供服务 e.PluginInstance.Run(DateTime.Now.To 阅读全文
posted @ 2012-10-12 21:06 阿牛 阅读(745) 评论(1) 推荐(0) 编辑
摘要: 实现在调用域中执行回调 阅读全文
posted @ 2012-10-12 10:28 阿牛 阅读(889) 评论(1) 推荐(0) 编辑