MEF: MSDN 杂志上的文章(10) 使用元数据区分导出
2012-06-22 00:26
357 查看
元数据可以用来区分导出。
区分导出也可以用其它的技术,如在每个部件中添加一个属性来区分。
但是,使用原数据有它的优点:部件的实例化可延迟到需要时进行,这可节约资源并提高性能。
[ExportMetadata("ViewType","SalesOrder")]//键值对 [Export(typeof(IView)] publicpartialclassSalesOrderView:UserControl,IView { }
//以上代码直接使用字符串,不太好。可以改为
[ExportMetadata(ViewMetadata.ViewType,ViewTypes.SalesOrder)] [Export(typeof(IView)] publicpartialclassSalesOrderView:UserControl,IView { ... } //inacontractassembly publicenumViewTypes{SalesOrderView} publicclassViewMetadata { publicconststringViewType="ViewType"; }
//该完,还是存在以下的问题
在IDE中无法发现元数据键。部件编写者必须知道对导出有效的元数据键和类型。 编译器不会验证元数据以确保其正确。 ExportMetadata会向代码添加更多干扰信息,从而隐藏真正意图。
解决方法是:下一章的自定义导出特性
相关文章推荐
- MEF: MSDN 杂志上的文章(12) 导入延迟导出和访问元数据
- MEF: MSDN 杂志上的文章(15) 拒绝【多个导出,但只用一个导入,会拒绝,但还是稳定的组合】
- MEF: MSDN 杂志上的文章(4) 通过属性将非 MEF 项导出到 MEF ???
- MEF: MSDN 杂志上的文章(6) 一个部件可以有多个导出 !!!
- MEF: MSDN 杂志上的文章(8) MEF: 导入同一约定的多个导出 ???
- MEF: MSDN 杂志上的文章(11) 自定义导出特性 【手工写ExportAttribute的子类】???
- MEF: MSDN 杂志上的文章(2). 两种导入方式的比较. 属性或字段的导入 VS 构造函数的导入
- MEF: MSDN 杂志上的文章(3) 组合
- MEF: MSDN 杂志上的文章(13) 重新组合 【暂时用不到,以后再看】
- MEF: MSDN 杂志上的文章(5) 将实现与接口分离
- MEF: MSDN 杂志上的文章(15) 诊断拒绝???
- MEF: MSDN 杂志上的文章(7) 约定程序集 ???
- MEF: MSDN 杂志上的文章(0)
- MEF: MSDN 杂志上的文章(9) 控制部件创建策略 ???
- MEF: MSDN 杂志上的文章(14) 稳定的组合
- MEF: MSDN 杂志上的文章(1). 导出类
- Msdn 杂志 asp.net ajax 文章汇集
- MSDN里的关于.net的PropertyGrid的使用和控件设计的文章。
- MEF程序设计指南四:使用MEF声明导出(Exports)与导入(Imports)
- Msdn 杂志 asp.net ajax 文章汇集