摘要: 导入导出的方式: 一、类当一个部件需要导出自身时一个组成部件级别的导出经常用。为了让部件导出自己,简单的方法是用[System.ComponentModel.Composition.ExportAttribute]特性修饰一个组成部件,正如下面所示一样:代码段[Export]public class ConsoleLogger{ public void Write(string message) { Console.WriteLine(message); }}主程序(导入部分)代码如下:代码段class Program { ... 阅读全文
posted @ 2013-06-01 22:41 一个人在北京 阅读(2602) 评论(0) 推荐(0) 编辑
摘要: MEF中使用导出与导入,实质上就是对一个对象的实例化的过程,通过MEF的特性降低了对象的直接依赖,从而让系统的设计达到一种高灵活、高扩展性的效果。(本篇内容来自msdn)导入的类型MEF 支持若干导入类型,其中包括动态导入、延迟导入、必备导入和可选导入。动态导入在某些情况下,导入类可能需要与具有特定协定名称的任何类型的导出匹配。 在这种情况下,类可以声明动态导入。 下面的导入与具有协定名称“TheString”的任何导出匹配。代码段public class MyClass{ [Import("TheString")] public dynamic MyAddin { get 阅读全文
posted @ 2013-06-01 22:14 一个人在北京 阅读(1819) 评论(0) 推荐(0) 编辑
摘要: 1、框架中的Catalog在MEF框架中,包含了4种Catalog,所有的Catalog的是从System.ComponentModel.Composition.Primitives名称空间下的ComposablePartCatalog抽象类派生下来。AssemblyCatalog:表示从程序集中搜索部件的目录。DirectoryCatalog:表示从文件系统的指定路径中,搜索程序集,从而搜索部件。TypeCatalog:表示从指定的类型集合中,去搜索相应的部件。AggregateCatalog:聚合目录,可以添加上面所说的所有目录,从而进行多方面的部件搜索。直接添加部件到容器:在Compos 阅读全文
posted @ 2013-06-01 22:03 一个人在北京 阅读(3951) 评论(3) 推荐(0) 编辑