摘要: MEF特性化编程模型的价值主张之一是通过catalogs动态发现部件的能力。Catalogs允许应用程序很容易地消费那些通过[Export]已经自我注册的exports。Assembly Catalog为了在一个特定的程序集中发现所有的exports,可以使用System.ComponentMode... 阅读全文
posted @ 2014-04-13 23:26 jello chen 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 在导出声明这一节中解释了部件导出服务和值的基础知识。在某些情况下,出于多种原因,关联与导出相关的信息是有必要的。通常,它被用来解释一个指定的普通契约实现的能力。这对于允许导入约束满足它的导出,或者导入此时所有可用的实现和检查它在使用导出之前在运行时的能力是很有用的。在Export上附加Metadat... 阅读全文
posted @ 2014-04-13 19:53 jello chen 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 在一个部件组合中,导入将触发一个部件或者多个部件的实例化,这些部件暴露了所需原请求部件的必要的导入。对于一些应用程序来说,延迟实例化-防止图结构下的递归组合-可能对于将创建一个长久复杂的开销很大而不必要的对象的图来说是一个重要的因素。正是出于这样的动机,MEF支持叫做lazy exports的导出。... 阅读全文
posted @ 2014-04-13 17:21 jello chen 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 组合部件使用[System.ComponentModel.Composition.ImportAttribute]特性声明导入。与导出类似,也有几种成员支持,即为字段、属性和构造器参数。同样,我们也来看下该特性类的声明:[AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Field | AttributeTargets.Property, AllowMultiple=false, Inherited=false)]public class ImportAttribute : Attribute, IAttributedIm 阅读全文
posted @ 2014-04-13 15:04 jello chen 阅读(616) 评论(0) 推荐(0) 编辑