网站建设资讯

NEWS

网站建设资讯

C#中如何使用MEF插件

这篇文章将为大家详细讲解有关C# 中如何使用MEF插件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

为观山湖等地区用户提供了全套网页设计制作服务,及观山湖网站建设行业解决方案。主营业务为成都做网站、成都网站设计、观山湖网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

MEF简介

    MEF,全称Managed Extensibility Framework(托管可扩展框架)。单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架,MSDN中对MEF有这样一段说明:

Managed Extensibility Framework 或 MEF 是一个用于创建可扩展的轻型应用程序的库。 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。 扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬依赖项。 通过 MEF,不仅可以在应用程序内重用扩展,还可以在应用程序之间重用扩展。

开始编码

我们新建一个桌面应用程序项目起名为MefDemo

C# 中如何使用MEF插件

在Form1下面增加一个MenuStrip,改名为ms

C# 中如何使用MEF插件

不用加任何项,我们到时候进行动态加载


在解决方案里右键添加新建项目选择类库

C# 中如何使用MEF插件

这个类库用来实现插件的接口

C# 中如何使用MEF插件

建好后在里面增加一个类起名为IPlugin

C# 中如何使用MEF插件

定义了接口,里面一个是字符串类型Text,还有一个方法是DO;然后我们增加插入时继承接口即可


然后返回主程序里面的Form里声明我们的接口

C# 中如何使用MEF插件

然后我们写窗体调用加载插件的初始化方法

C# 中如何使用MEF插件

读完插件后加载到MenuStrip控件中用于显示出来的方法

C# 中如何使用MEF插件

构造函数里面直接初始化Init(),这样在在Form_Load里面就会加载到控件中显示了

C# 中如何使用MEF插件

主窗体的代码这就完成了


插件编写

我们在解决方法里面再新建三个类库,为别叫Plugin1,Plugin2,Plugin3

C# 中如何使用MEF插件

Plugin1

C# 中如何使用MEF插件插件里面的Text 和Do()就是实现接口的对应方法,我们在plugin1里面定义为插件1,  DO的方法实现弹出窗体显示插件1中文

Plugin2

C# 中如何使用MEF插件

和插件1相同,只不过名称不同

Plugin3

C# 中如何使用MEF插件

插件三里面除了实现的接口类,又增加了一个窗体Form1

然后我们在MyPlugin3里面写入接口的实现方法

C# 中如何使用MEF插件

可以看到Do里面是直接显示Form1

Form1里面增加了一个Button

C# 中如何使用MEF插件

C# 中如何使用MEF插件

Button的事件就是弹出窗体显示我是插件3


这样代码就完后实现了,编译完成后我们把三个插件的DLL放到运行目录下的plugin下面


C# 中如何使用MEF插件


关于C# 中如何使用MEF插件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站名称:C#中如何使用MEF插件
文章路径:http://njwzjz.com/article/ipcojs.html