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

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

更多相关:

  • 如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本文件(制表符)格式,之后sqlserver导入数据时,数据源选择选择“平面数据源”,之后选择刚刚存好的文本文件,导入到sqlserve...

  •   1--数据库导出(exp)    首先进入命令行    导出数据库    在命令行中输入如下命令:      exp   c2j/c2j@c2j    file=c:/table.dmp    tables=jbitaku,jbitakum   grants=y     然后按回车键    说明:     c2j/c2j@c2j...