MEF: MSDN 杂志上的文章(2). 两种导入方式的比较. 属性或字段的导入 VS 构造函数的导入
2012-06-21 23:01
225 查看
http://msdn.microsoft.com/zh-cn/magazine/ee291628.aspx
导入有2种方式: (1)通过属性和字段导入
(2)通过构造函数导入
public class ViewFactory
{
[ImportingConstructor]
public ViewFactory(SalesOrderView salesOrderView)
{
}
}
通过构造函数进行导入(通常称为构造函数注入),使用导入构造函数时,MEF 会假设所有参数都是导入,从而不必使用 import 特性.
通过构造函数而不是属性进行导入属于个人喜好问题,
但属性导入适用范围比较广,尤其是当存在并非由 MEF 实例化的部件时。
构造函数参数也不支持重新组合。
属性导入 Import 可以设置 RequiredCreationPolicy 但 ImportingConstructor 好像不行。
属性导入 Import 中,在构造函数好像访问不到 Import 的属性。这点很奇怪,好像是执行完构造函数后,才能访问Imort属性。
导入有2种方式: (1)通过属性和字段导入
public class ViewFactory { [Import] public SalesOrderView OrderView { get; set; } }
(2)通过构造函数导入
public class ViewFactory
{
[ImportingConstructor]
public ViewFactory(SalesOrderView salesOrderView)
{
}
}
通过构造函数进行导入(通常称为构造函数注入),使用导入构造函数时,MEF 会假设所有参数都是导入,从而不必使用 import 特性.
通过构造函数而不是属性进行导入属于个人喜好问题,
但属性导入适用范围比较广,尤其是当存在并非由 MEF 实例化的部件时。
构造函数参数也不支持重新组合。
属性导入 Import 可以设置 RequiredCreationPolicy 但 ImportingConstructor 好像不行。
属性导入 Import 中,在构造函数好像访问不到 Import 的属性。这点很奇怪,好像是执行完构造函数后,才能访问Imort属性。
相关文章推荐
- MEF: MSDN 杂志上的文章(4) 通过属性将非 MEF 项导出到 MEF ???
- MEF: MSDN 杂志上的文章(15) 拒绝【多个导出,但只用一个导入,会拒绝,但还是稳定的组合】
- MEF: MSDN 杂志上的文章(8) MEF: 导入同一约定的多个导出 ???
- MEF: MSDN 杂志上的文章(12) 导入延迟导出和访问元数据
- MEF: MSDN 杂志上的文章(0)
- MEF: MSDN 杂志上的文章(1). 导出类
- MEF: MSDN 杂志上的文章(3) 组合
- MEF: MSDN 杂志上的文章(5) 将实现与接口分离
- MEF: MSDN 杂志上的文章(6) 一个部件可以有多个导出 !!!
- MEF: MSDN 杂志上的文章(14) 稳定的组合
- MEF: MSDN 杂志上的文章(7) 约定程序集 ???
- MEF: MSDN 杂志上的文章(9) 控制部件创建策略 ???
- MEF: MSDN 杂志上的文章(10) 使用元数据区分导出
- oracle两种导出导入方式,即imp与impdp之比较
- MEF: MSDN 杂志上的文章(11) 自定义导出特性 【手工写ExportAttribute的子类】???
- MEF: MSDN 杂志上的文章(13) 重新组合 【暂时用不到,以后再看】
- MEF: MSDN 杂志上的文章(15) 诊断拒绝???
- 将Eclipse代码导入到AndroidStudio的两种方式
- JSP的两种导入方式
- ASP中存储过程调用的两种方式及比较