用C#写插件代码
我们需要有一个主程序主界面(Application),在这个主程式里动态加载插件, 也就是说,我们在这个程序运行的物理文件夹里加入多少插件,主程式就会自动加载这些插件.
有这样一个小项目, 还是做算术, 客户要求我们给他做一个带有加法的简单程式,输入两个数,按一个button得出结果,非常简单,我们花了一个月时间完成了. 客户也认同.一段时间后,客户不满足了,要求加一个减法的,怎么办?我们修改了程式. 但是万一后面客户又要求加一个除法的,平方的...?
里面就要运用插件了,我们这样来设计: 要求有一个界面,可以满足客户做不同的加减等运算
- 一个主程序
- 一个插件管理器
- N个插件
首先插件管理器 新建类库 PlugManager.cs
完成后 F5 有了一个 Plugmanager.dll
再写一个 插件的代码 比如 加法 新建类库 IMathADD.cs
加法的小窗口 Form1.cs
OK F5 又生成了一个MathADD.dll (这个就是加法的一个插件)
现在来完成主程序界面 新建项目 PluginTest
最后OK 完成,把MathADD.dll COPY到 PluginTest目录的DEBUG下 运行主程序。
点击按钮开始加载。
哈哈 有了一个加法的窗口开始运算了。
客户如果要减法或者其它, 没关系只要在写一个减法的插件(同第二步),生成了DLL放入PluginTest目录的DEBUG下就可以了
如下 建立一个新的windows应用程序 MathSubstruction。 删除掉Program.cs , 把这个windows应用程序改为 类库,编译
form窗口
编译好的 MathSubstruction.dll 同上放入 我们原来建好的 PluginTest 项目 DEBUG下。
运行PluginTest程序, 嗯。。 又多了一个减法的界面了。
大家如果要加其它的如 乘除平方,可以自己试试吧