第06篇 MEF部件的生命周期(PartCreationPolicy)
來源:程序員人生 發布時間:2015-05-08 08:01:14 閱讀次數:4706次
1、演示概述
本演示介紹了MEF的生命周期管理,重點介紹了導出部件的3種創建策略,分別是:CreationPolicy.Any、CreationPolicy.Shared、CreationPolicy.NonShared。
相干下載(屏幕錄相):http://yunpan.cn/cjZEXHY8N3D6z 訪問密碼 3912
溫馨提示:如果屏幕錄相和代碼不能正常下載,可站內留言,或發郵件到524130780@QQ.COM
歡迎有興趣研究.NET相干技術的網友加QQ群:18507443
2、部件創建策略簡介
MEF提供的導出部件的3種創建策略,分別以下:
CreationPolicy.Any:表示可同享或不同享,部件的實例用MEF容器根據不同的要求需求自動控制。
CreationPolicy.Shared表示同享部件,既Shared類型的插件部件可以在多個MEF組合容器中共用,而且屢次要求該部件返回的實際上是同1個對象。
CreationPolicy.NonShared類型,表示不同享部件實例,每當有新的要求就會創建1個新的對象實例。
3、關鍵代碼
下面介紹了如何在導出部件中設置其創建策略,和導入的時候如何使用。
通過為導出部件添加PartCreationPolicyAttribute特性,可指定其創建策略。代碼以下:
[PartCreationPolicy(CreationPolicy.NonShared)]
[Export(typeof(UserControl))]
public partial class UserControlBB : UserControl
{
public UserControlBB()
{
InitializeComponent();
}
}
在導出部件的時候,可設置導入指定創建策略的部件,比以下面的代碼,只導入創建策略為CreationPolicy.Shared的導出部件。
[ImportMany(RequiredCreationPolicy = CreationPolicy.Shared)]
public List<UserControl> UserControls { get; set; }
4、相干資源
1、MSDN官方資料:http://msdn.microsoft.com/zh-cn/library/dd460648(v=vs.110).aspx
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈