1

我刚刚读完这个: http: //msdn.microsoft.com/en-us/library/ms972962.aspx 并搜索了很多,但我不明白如何开发一个“插件就绪”的应用程序"

如何开发一个将其信息/数据公开给插件的应用程序,以便插件可以操作所述数据。

例如。我为 Visual Studio 下载的插件,例如“regExp”,可以修改编辑器的数据(即源代码)。

如何开发这样的应用程序 - 它们是设计模式还是框架(IPlugin也许来自 .Net?)

感谢所有信息/帮助

艾登

4

1 回答 1

1

如果你“颠倒”你的想法,说它是插件暴露了它的属性和方法,它可能更容易理解。

在 .Net 中,您可以定义一个Interface来定义应该实现哪些方法和属性。接口本身并没有做太多的事情,只是定义了这些东西。

这使得主程序能够以 dll 的形式动态加载这个插件,并检查接口是否实现。如果它现在是主程序,那么使用调用调用什么方法,因为它们是由 dll/库公开的。在这个阶段,dll 本身对主程序一无所知。

然后,在您的插件中,您有一个方法可以采用参数从主程序(文本或其他任何内容)获取数据。因此,当主程序调用插件时,它会同时提供信息。数据可以是一个再次保存不同类型数据的类——这样一个插件可以访问主应用程序的数据,因为它被提供给它。

.Net 还提供了一个来自 .net 4+ 的名为 MEF(托管扩展框架)的插件系统。在此处查看更多信息:http:
//msdn.microsoft.com/en-us/library/dd460648.aspx
http://www.codeproject.com/Articles/167321/MEF-with-ASP-NET-Hello-世界

于 2012-12-08T16:06:28.457 回答