关于MEF的一些简单的说明
来源:互联网 发布:柊筱娅cos淘宝 编辑:程序博客网 时间:2024/05/20 15:11
刚刚看了一下MEF的一些示例, 网上的教程太复杂, 理解起来有些麻烦. 经过阅读别人的代码, 把自己的理解记录一下, 方便以后使用.
MEF能干什么?
首先回答这个问题, MEF可以将两个对象组合到一起, 这里的对象可以是变量, 类, 属性等. 然后用一个对象对替换另一个对象.
比如说: 在class StringProvider中, 有属性Output, 而在class Client中要使用Output的值. 使用MEF就可以方便的将StringProvider中的Output拿到Client这个类中使用.
而如何去组合使用就是MEF做的事情.
代码说明
下面的代码中, 定义为[Export("Message")]的Output就是将要被其它地方所使用的属性.
[Import("Message")]中Import是说明, private string message的这个变量将会使用Export中Output的值.
"Message"所代表的意思是匹配的字符串, 用于指定一对Export和Import.
public class StringProvider { [Export("Message")] public string Output { get { return "Hello MEF Framework"; } } } public class Client { [Import("Message")] private string message = null; public void Print() { Console.WriteLine(this.message); Console.ReadLine(); } }
让MEF组装吧
Client client = new Client(); CompositionContainer container = new CompositionContainer(); CompositionBatch batch = new CompositionBatch(); batch.AddPart(new StringProvider()); //将被组装对象放入. batch.AddPart(client); //将组装对象放放 container.Compose(batch); //MEF对象根据Export和Import的定义自动的实现替换操作 client.Print();
0 0
- 关于MEF的一些简单的说明
- 关于 Debian 源的一些简单说明
- 关于字符串操作的一些函数简单说明与应用
- 关于smarty3的一些说明
- 关于smarty3的一些说明
- 关于WirelessKey的一些说明
- 关于Mplayer的一些说明
- 关于宏的一些说明
- 关于adaboost的一些说明
- 关于就业的一些说明
- 关于adaboost的一些说明
- 关于ARC的一些说明
- 关于RotateRect的一些说明
- 关于 _cplusplus 的一些说明
- 关于synonym的简单说明
- 关于oozie的简单说明
- 关于PopupWindow的简单说明
- 关于PopupWindow的简单说明
- full backup and log backup can happen at the same time
- 正则表达式的多行模式与单行模式
- hibernate one-to-one 配置及操作
- 【Activity】 Activity的4种加载模式及Intent标识
- dbunit使用例子
- 关于MEF的一些简单的说明
- 20140325软件测试复习——测试类型
- iOS 小记(1)
- 关于POI导出到Excel表格中(servlet中)
- MySQL对标准SQL的扩展
- Android SDK目录结构介绍
- Android4.4之Keyguard--KeyguardUpdateMonitor
- Android中自定义属性(attrs.xml,TypedArray的使用)
- SSL和SSH有什么区别