繁体   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