四 MEF构成扩展程序基本思想
基本思想是:新建一个应用程序;新建一个接口,接口里定义执行方法;所有新建的插件都引用这一个接口。
下面通过一个实例说明:
新建一个接口,IPlugin.cs:
新建winform应用程序(注意要添加接口dll的引用,不需要添加插件dll的引用)
首先编写初始化方法init(),定义并实例化容器。
导入插件,初始化:
窗体加载时,将每一个插件生成一个button,注册buttonClick事件,点击button时,执行对应插件内的方法。
新建一个插件程序集:Plugin1
将生成的dll复制到winform生成Debug的根目录下。
编译Winform工程,生成exe。打开exe,窗体内有一个button,这个button对应Plugin1.dll。点击“First”,就执行了Plugin1.dll内的Excute方法,如图所示。
下面再次编写一个插件程序集Plugin2,与Plugin1引用同一个接口程序程序集IPlug。
编译生成dll,将Plugin2.dll复制到Winform EXE的根目录下。无需再次编译exe,直接打开exe,窗体中多了“second”button。效果图:
这就是可扩展框架的基本思路。新建插件可通过引用接口(IpulgContract.dll)实现更多的功能。