解决方法
C#有很多ad-hoc插件系统.一个描述在
Plugin Architecture using C#(
The Code Project).一般的方法是主机应用程序发布具有接口的程序集.它通过一个文件夹枚举,并找到定义一个实现其接口并加载它们并实例化类的类的程序集.
实际上你想做更多的事情.如果主机应用程序定义了两个接口(IHost和IPlugIn),则最好. IHost界面提供插件可以订阅的服务. IPlugIn构建了一个IHost.
要加载插件,你应该做的不仅仅是一个插件.您应该枚举所有可加载的插件.构建它们.问他们是否可以跑.请他们将API导出到主机中.请他们从主机导入API.插件应该能够询问其他插件的存在.
这样,插件可以通过提供更多的API来扩展应用程序.
在世界最后,你应该警告插件,他们将要消失.然后把它们拿出来
这将给你一个可以在一个很小的框架中编写的应用程序,如果你想要的话可以完全在插件中实现.
作为一个额外的好处,您还应该使其在插件文件夹中解决插件的快捷方式.这可以让您编写应用程序并将其传递给其他人.他们可以在其开发环境中创建一个插件,在应用程序的插件文件夹中创建一个快捷方式,而不必担心在每次编译之后部署.
原文地址:https://www.jb51.cc/csharp/95302.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。