label = "${res:XML.MainMenu.RunMenu.CompileAll}"

class = "ICSharpCode.SharpDevelop.Commands.CompileAll"/>

...

這個(gè)擴(kuò)展點(diǎn)中定義了三個(gè)菜單項(xiàng),以及各個(gè)菜單項(xiàng)的名字、標(biāo)簽和實(shí)現(xiàn)的類名。這里的Codon就對(duì)應(yīng)于系統(tǒng)中的MenuCodon對(duì)象。

Command 命令

正如前文所述,Codon描述了一個(gè)功能模塊,而每個(gè)功能模塊都是一個(gè) ICommand 的實(shí)現(xiàn)。最基本的 Command 是 ?AbstractCommand,根據(jù)Codon的不同對(duì)應(yīng)了不同的 Command。例如 MenuItemCodon 對(duì)應(yīng) MenuItemCommand 等等。

Service 服務(wù)

插件系統(tǒng)中,有一些功能是整個(gè)系統(tǒng)都要使用的,例如文件訪問、資源、消息等等。

這些功能都作為插件系統(tǒng)的一個(gè)基本功能為整個(gè)系統(tǒng)提供服務(wù)

我們就叫“服務(wù)”好了。為了便于訪問,這些服務(wù)都統(tǒng)一通過 ServiceManager來管理。其實(shí)服務(wù)也是一種類型的插件,它們的擴(kuò)展點(diǎn)路徑在目錄樹中的 /Workspace/Services 中。

理解了這幾個(gè)基本的概念之后,就可以看看 SharpDevelop 的代碼了。從 src/main/startup.cs 看起吧,之后是addin.cs、addinTree.cs 等等。?

更多>> 軟件截圖

推薦應(yīng)用

其他版本下載

精品推薦

相關(guān)文章

下載地址

查看所有評(píng)論>> 網(wǎng)友評(píng)論

發(fā)表評(píng)論

(您的評(píng)論需要經(jīng)過審核才能顯示) 網(wǎng)友粉絲QQ群號(hào):374962675

查看所有 0條 評(píng)論>>

更多>> 猜你喜歡