C#编程之MEF2

   四   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)实现更多的功能。




 

猜你喜欢

转载自blog.csdn.net/weixin_42183571/article/details/80368976