MEF: MSDN 杂志上的文章(9) 控制部件创建策略 ???

http://msdn.microsoft.com/zh-cn/magazine/ee291628.aspx

默认情况下,容器中的所有部件实例都是单例因而由在容器中导入它们的所有部件共享。因此,SalesOrderView 和 ViewFactory 的所有导入程序都将获得同一实例。在很多情况下需要这样,因为这样便无需拥有其他组件所依赖的静态成员。但是,有时每个导入程序都需要获取自己的实例,例如用于同时在屏幕上查看多个 SalesOrderView 实例。

MEF 中的部件创建策略可以是以下三个值之一:CreationPolicy.Shared、CreationPolicy.NonShared 或 CreationPolicy.Any。若要指定部件的创建策略,请使用 PartCreationPolicy 特性修饰部件.

 

[PartCreationPolicy(CreationPolicy.NonShared)]
[Export(typeof(ISalesOrderView))]
public partial class SalesOrderView : UserControl, ISalesOrdderView
{
    public SalesOrderView()
    {
    }
}

 

还可以对导入设置 RequiredCreationPolicy 属性,也可在导入程序端指定 PartCreationPolicy。

 

转载于:https://www.cnblogs.com/Ken-Cai/archive/2012/06/21/2558355.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值