簡體   English   中英

在WP8上構建插件系統

[英]Building a plugin system on WP8

假設我有這種結構:

|
|-Plugins
         |-Plugin1.cs
         |-Plugin2.cs
         |-Plugin3.cs
|-PluginBase.cs
|-PluginList.cs

其中Plugins文件夾中的每個類都從PluginBase.cs擴展。

我需要我的PluginList.cs導出可用插件的列表,以便應用程序可以使用它來使用戶選擇他想要的插件。

現在,由於這是我第一次使用C#,因此我不知道它是如何工作的。

在線搜索時,我發現了有關Managed Extensibility Framework的一些信息,但是我不確定這是否是我所需要的。

我非常原始的想法是掃描Plugin目錄並列出它們,但是我不知道C#是否等效於Java的Class類,因此我還沒有嘗試過。

由於我在談論移動應用程序,因此我也希望它盡可能快,所以也許這種掃描方法不是最佳方法。

任何想法?

編輯:

因此,最好的辦法是使用MEF2,但我無法使其正常工作,因為Visual Studio不允許我將程序集添加到項目中(嘗試使用Nuget並手動添加dll)。

除了MEF2,還有其他選擇嗎?

實際上,MEF正是您所需要的。 它是專門為插件或可擴展體系結構設計的,並提供了您嘗試實現的一系列基本功能。

托管擴展框架(MEF)是.NET的組合層,可提高大型應用程序的靈活性,可維護性和可測試性。 MEF可以用於第三方插件的可擴展性,也可以將松散耦合的類似插件的體系結構的優點帶給常規應用程序。

http://mef.codeplex.com/

鏈接提供了一個很好的介紹和基本示例,以解釋MEF的工作原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM