第06篇 MEF部件的生命周期(PartCreationPolicy)
來源:程序員人生 發(fā)布時(shí)間:2015-05-08 08:01:14 閱讀次數(shù):4711次
1、演示概述
本演示介紹了MEF的生命周期管理,重點(diǎn)介紹了導(dǎo)出部件的3種創(chuàng)建策略,分別是:CreationPolicy.Any、CreationPolicy.Shared、CreationPolicy.NonShared。
相干下載(屏幕錄相):http://yunpan.cn/cjZEXHY8N3D6z 訪問密碼 3912
溫馨提示:如果屏幕錄相和代碼不能正常下載,可站內(nèi)留言,或發(fā)郵件到524130780@QQ.COM
歡迎有興趣研究.NET相干技術(shù)的網(wǎng)友加QQ群:18507443
2、部件創(chuàng)建策略簡(jiǎn)介
MEF提供的導(dǎo)出部件的3種創(chuàng)建策略,分別以下:
CreationPolicy.Any:表示可同享或不同享,部件的實(shí)例用MEF容器根據(jù)不同的要求需求自動(dòng)控制。
CreationPolicy.Shared表示同享部件,既Shared類型的插件部件可以在多個(gè)MEF組合容器中共用,而且屢次要求該部件返回的實(shí)際上是同1個(gè)對(duì)象。
CreationPolicy.NonShared類型,表示不同享部件實(shí)例,每當(dāng)有新的要求就會(huì)創(chuàng)建1個(gè)新的對(duì)象實(shí)例。
3、關(guān)鍵代碼
下面介紹了如何在導(dǎo)出部件中設(shè)置其創(chuàng)建策略,和導(dǎo)入的時(shí)候如何使用。
通過為導(dǎo)出部件添加PartCreationPolicyAttribute特性,可指定其創(chuàng)建策略。代碼以下:
[PartCreationPolicy(CreationPolicy.NonShared)]
[Export(typeof(UserControl))]
public partial class UserControlBB : UserControl
{
public UserControlBB()
{
InitializeComponent();
}
}
在導(dǎo)出部件的時(shí)候,可設(shè)置導(dǎo)入指定創(chuàng)建策略的部件,比以下面的代碼,只導(dǎo)入創(chuàng)建策略為CreationPolicy.Shared的導(dǎo)出部件。
[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
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)