我一直在尋找爲我的應用程序提供插件支持的不同方法。理想情況下,我將創建一個核心功能,並基於不同的客戶開發不同的插件/插件,例如導入,導出數據等等......通過插件體系結構可擴展C#應用程序的一些方法有哪些?如何在C#中開發基於動態插件的功能
讓我們來舉個例子。如果我們有一個由主菜單(文件,編輯,視圖等)和TreeView組成的程序,該程序顯示按製造商分組的不同品牌的汽車(目前爲福特,通用汽車)。右鍵單擊汽車會顯示一個上下文菜單,唯一的選項是「刪除汽車」。
如何開發應用程序,以便可以部署插件,以便您可以讓一位客戶在TreeView中看到一個新品牌,讓我們說本田,並擴大汽車上下文菜單,以便他們現在可以'畫一輛車'?
在Eclipse/RCP開發中,這很容易通過擴展點和插件來處理。 C#如何處理它?我一直在研究開發自己的插件架構並閱讀MEF。
我看過一些這表明使用裝載組件,catelogs MEF視頻和容器,但是我還沒有完全理解MEF如何幫助您部署修改你的主菜單或上下文菜單中的一個插件給予控制。我想我錯過了視頻描繪的最後一步,並允許我的應用程序響應插件的呈現。例如,添加一個新的菜單按鈕到主菜單。 – Matthew 2010-06-01 14:45:43
如果您使用MVVM(http://msdn.microsoft.com/zh-cn/magazine/dd419663.aspx),應該會更容易弄清楚。這將使您能夠將Menus和MenuItems綁定到基礎(可插入)對象模型。 – 2010-06-01 14:57:50