温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C# 中如何使用MEF插件

发布时间:2021-07-07 15:34:41 来源:亿速云 阅读:318 作者:Leah 栏目:大数据

这篇文章将为大家详细讲解有关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插件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI