摘要: 声明导入组成部件声明导入[System.ComponentModel.Composition.ImportAttribute]特性。跟导出类似,有几个不同的方法即是通过字段,属性和构造函数。属性导入为了导入一个属性值,用[System.ComponentModel.Composition.ImportAttribute]声明属性。例如下面的代码片段导入一个IMessageSender class Program { [Import] public IMessageSender MessageSender { get; set; } }构造函数参数你也可以通过构造函数的参数指定... 阅读全文
posted @ 2012-04-24 15:43 王春明 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 声明导出组成部件通过[System.ComponentModel.Composition.ExportAttribute]特性声明导出。在MEF有几种不同方法去声明导出,包括部件级别和通过属性和方法。组成部件导出当一个部件需要导出自身时一个组成部件级别的导出经常用。为了让部件导出自己,简单的方法是用[System.ComponentModel.Composition.ExportAttribute]特性修饰一个组成部件,正如下面所示一样:[Export]public class SomeComposablePart { ...}属性导出部件也可以导出属性。属性导出有下面几个优点:他们允许导出. 阅读全文
posted @ 2012-04-24 15:34 王春明 阅读(1340) 评论(0) 推荐(0) 编辑
摘要: 定义组成部件和契约组成部件一个组成部件是MEF里的一个组成单位。组成部件给其它需要的组成部件导出服务,和从其它组成部件导入服务。在MEF的设计模型里,组成部件属于用System.ComponentModel.Composition.Import和[System.ComponentModel.Composition.Export]特性来修饰它们的导入和导出。一个组成部件应该至少包括一个导出。组成部件不是直接添加到容器就是通过使用的目录创建。MEF默认扫描的目录通过导出特性来识别。契约组成部件不能直依懒于另一个组成部件,而是通过依懒于字符串识别的契约。每个导出有一个契约,并且每个导入修饰它需要的契 阅读全文
posted @ 2012-04-24 14:22 王春明 阅读(559) 评论(0) 推荐(0) 编辑