我正在C#中開發一個項目,它是關於電子學習的。該項目應該使用插件作爲主要輸入,沒有它們就無法運行。 我不知道如何使用插件,我不知道如何在我的程序中編譯插件,或者如何在應用程序中安裝插件。 我在這裏詢問有關參考資料,或任何有用的想法,可以幫助我。在C#中爲我自己的項目創建我自己的插件
2
A
回答
3
開始通過創建一個插件接口:
public interface IPlugIn
{
// Your stuff here
}
然後,您可以發佈你的界面上的插件工作的開發人員。
當您的應用程序啓動時,它可以動態加載所有插件程序集,然後通過IPlugIn
接口使用它們,而無需知道每個插件的內部。
UPDATE
事實上,我發現,進入我更深入更ellaborate例中描述的處理的製品。您可以點擊此處查看:
Writing Plugin-Based Applications in .NET
和一個額外的好處......它帶有示例代碼!
+0
非常感謝我想我會用這個簡單的方法,如果你有更多的經驗或參考資料,請讓我知道,再次感謝:) – Lisa 2010-03-14 23:53:48
2
如果你的插件不太複雜,你可以避免使用像MEF這樣的可擴展性框架。
- 您可以爲插件定義合同。它應該是公共接口,或者可以是抽象/虛擬方法的類。您應該將其移動到獨立的程序集並分發給插件開發人員
- 開發人員實現接口並生成程序集
- 使用Assembly.Load在運行時加載。
- 列表類型由GetTypes
- 找到實現你的接口
- Activator.CreateInstance
- 玩得開心
相關問題
- 1. 創建我自己的API
- 2. 爲項目瀏覽器eclipse插件創建我們自己的屬性頁面
- 3. 在android中創建我自己的SSO
- 4. 在Codeigniter中創建我自己的base_url()
- 5. 如何在wordpress中創建我自己的新插件
- 6. 如何在adobe indesign中創建我們自己的插件
- 7. 在Galleria jquery插件中創建我自己的導航
- 8. 我可以爲我自己的插件使用Eclipse插件項目嗎?
- 9. 如何爲我自己的wireshark解剖器創建插件?
- 10. 爲我的C#應用程序創建我自己的Dll
- 11. 如何創建自己的Web項目?
- 12. 創建我們自己的插件時使用phonegap構建
- 13. 爲XNA創建我自己的FBX文件? (在3ds max中)
- 14. Sublime - 如何爲自定義插件創建我自己的子文件夾?
- 15. Csslint - 如何創建自己的插件
- 16. tinymce創建自己的插件
- 17. Visual Studio - 創建我自己的ASP MVC項目模板
- 18. 我自己的C庫
- 19. 我如何用我自己的風格創建自己的wysiwyg編輯器?
- 20. 創建我自己的Google網站模板使用我自己的CSS
- 21. 構建我自己的類?
- 22. 如何在我自己的Mono(c#)項目中使用SharpSVN?
- 23. 如何創建我自己的setSVMDetector?
- 24. 創建我自己的RSS訂閱2.0
- 25. 創建我自己的回調
- 26. 如何創建我自己的sap.suite.ui.generic.template.ObjectPage
- 27. 創建我自己的MJPEG流
- 28. 創建我自己的鬧鐘活動
- 29. asp.net MVC創建我自己的路由
- 30. 創建我自己的strcopy函數
使用MEF,看上去很不錯的類型。 http://www.codeplex.com/MEF – 2010-03-05 15:11:49
也有Mono.Addins:http://www.mono-project.com/Mono.Addins – Emmanuel 2010-03-05 15:17:46