中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

Silverlight開發(fā)廋身攻略(二)

  繼上一篇《Silverlight開發(fā)廋身攻略(一)》,在上一節(jié)中我主要介紹了在實(shí)際開發(fā)中怎么動(dòng)態(tài)加載圖片資源的方法,并附有實(shí)例。在這一節(jié)中主要給大家介紹MEF(Managed Extensibility Framework)的知識(shí)來(lái)實(shí)現(xiàn)Xap包的動(dòng)態(tài)加載。

  Managed Extensibility Framework(MEF)是.NET平臺(tái)下的一個(gè)擴(kuò)展性管理框架,它是一系列特性的集合,包括依賴注入(DI)以及Duck Typing等。MEF為開發(fā)人員提供了一個(gè)工具,讓我們可以輕松的對(duì)應(yīng)用程序進(jìn)行擴(kuò)展并且對(duì)已有的代碼產(chǎn)生最小的影響,開發(fā)人員在開發(fā)過程中根據(jù)功能要求定義一些擴(kuò)展點(diǎn),之后擴(kuò)展人員就可以使用這些擴(kuò)展點(diǎn)與應(yīng)用程序交互;同時(shí)MEF讓應(yīng)用程序與擴(kuò)展程序之間不產(chǎn)生直接的依賴,這樣也允許在多個(gè)具有同樣的擴(kuò)展需求之間共享擴(kuò)展程序。簡(jiǎn)單的說(shuō):MEF程序設(shè)計(jì)主要Export (輸出)、Import (輸入)、Compose (組合)三個(gè)動(dòng)作來(lái)完成。MEF的核心包括一個(gè)catalog和一個(gè)CompositionContainer。category用于發(fā)現(xiàn)擴(kuò)展,而container用于協(xié)調(diào)創(chuàng)建和梳理依賴性。每個(gè)可組合的Part提供了一個(gè)或多個(gè)Export,并且通常依賴于一個(gè)或多個(gè)外部提供的服務(wù)或Import。每個(gè)Part管理一個(gè)實(shí)例為應(yīng)用程序運(yùn)行。
  關(guān)于MEF的基礎(chǔ)知識(shí)在這里不是重點(diǎn),大家可以在網(wǎng)上搜一下,有很多介紹這方面的文章。下面直截以實(shí)例轉(zhuǎn)入正題。在實(shí)例中我們創(chuàng)建三個(gè)Silverlight Application項(xiàng)目,它們分別是:MEFLoadXap、FristXap、SecondXap。MEFLoadXap是主項(xiàng)目,它是一個(gè)容器,通過它來(lái)動(dòng)態(tài)加載FristXap、SecondXap包。本實(shí)例環(huán)境是VS.NET 2010 NET4.0,在NET4.0中集成了MEF的功能。

  一、新建MEFLoadXap項(xiàng)目

      1、用VS.NET 2010新建名為MEFLoadXap的Silverlight Application項(xiàng)目,添加System.ComponentModel.Composition、System.ComponentModel.Composition.Initialization引用,如下圖所示:    

  2、在MEFLoadXap項(xiàng)目下添加DeploymentCatalogService.cs文件,在文件中添加IDeploymentCatalogService接口,并編寫繼承此接口的DeploymentCatalogService的類,此類主要封裝了下載指定Xap包,自動(dòng)導(dǎo)入帶有Export屬性標(biāo)簽類型為UserControl控件對(duì)象。

  IDeploymentCatalogService代碼:

/// <summary>
/// 加載Xap服務(wù)接口
/// </summary>
public interface IDeploymentCatalogService
{
/// <summary>
/// 加載Xap包的方法
/// </summary>
/// <param name="uri">Xap包路徑</param>
/// <param name="completedAction">加載完成后的事件</param>
void AddXap(string uri, Action<AsyncCompletedEventArgs> completedAction = null);
/// <summary>
/// 移除Xap包的方法
/// </summary>
/// <param name="uri">Xap包路徑</param>
void RemoveXap(string uri);
}

NET技術(shù)Silverlight開發(fā)廋身攻略(二),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美视频在线观看 | 91欧美精品成人综合在线观看 | 亚洲综合无码一区二区 | 日本午夜一区二区三区 | 免费久久久 | 成人av在线网站 | 色婷婷久久久久swag精品 | 一级毛片免费完整视频 | 国产精品1 | 国产视频福利在线观看 | 亚洲在线一区二区 | 亚洲国产精品久久久 | 久草视频在线看 | 久久亚洲国产 | 久久视频精品在线 | 91精品久久久久久综合五月天 | 久草视频在线播放 | 日韩av在线一区二区三区 | 激情a| aaaaaaa片毛片免费观看 | 中文字幕亚洲精品 | 亚洲视频一区在线观看 | 三级成人片 | 手机看片在线播放 | 日韩欧美精品在线播放 | 四虎影 | 亚洲高清在线观看 | 久久久激情视频 | 国产视频观看 | 亚洲精品一区中文字幕乱码 | 久久久久国产精品免费免费搜索 | 99热精品6| 日韩一区二区三区四区五区六区 | 国产日本精品视频 | 99热精品6| 91精品在线播放 | 国产精品国产成人国产三级 | 国产黄色小视频在线观看 | 自拍在线| www.国产精 | 岛国av免费看 |