我刚读完这篇文章:http://msdn.microsoft.com/en-us/library/ms972962.aspx 并搜索了很多,但我不明白如何开发一个“Plug-In Ready”的应用程序
如何开发一个将其信息/数据公开给插件的应用程序,以便插件可以操作所述数据。
EG。我为Visual Studio下载的插件,例如“regExp”,可以修改编辑器的数据(即源代码)。
如何开发这样的应用程序 - 是他们的设计模式或框架(也许来自.Net的IPlugin
)。
赞赏所有信息/帮助
艾登
答案 0 :(得分:1)
如果你“反转”你的想法并说它是暴露其属性和方法的插件,那么它可能更容易理解。
在.Net中,您可以定义Interface
来定义应该实现的方法和属性。界面本身并没有太大作用,只是定义了这些东西。
这使主程序能够以dll的形式动态加载此插件并检查接口是否已实现。如果它是主程序现在使用调用调用什么方法,因为它们由dll /库公开。在这个阶段,dll本身对主程序一无所知。
在你的插件中,你有一个方法可以获取一个参数来从主程序(文本或其他任何东西)获取数据。因此,当主程序在插件上进行调用时,它会同时提供信息。数据可以是一个再次保存不同类型数据的类 - 这样一个插件就可以在提供给它时访问主应用程序的数据。
.Net还提供了一个名为MEF(Managed Extensibility Framework)的插件系统,来自.net 4+。在此处查看更多相关信息:
http://msdn.microsoft.com/en-us/library/dd460648.aspx
http://www.codeproject.com/Articles/167321/MEF-with-ASP-NET-Hello-World