昨天晚上花了一晚上時間寫了一個從程式集中動态加載窗體的程式.将任何包含窗體的代碼編譯成 dll 檔案,再把 dll 檔案拷貝到本程式的目錄下,本程式運作時即可動态檢查到 dll 檔案中的窗體,将窗體類的類型在程式菜單中顯示出來,點選菜單即可運作對應的窗體.
本程式主要用到了 Assembly 類動态加載程式集,再得到程式集中包含類的 Type 類型,動态生成類執行個體,動态調用類方法.個人覺得這是一種提供高度松耦合,可随意擴充的程式結構架構,希望和大家探讨一下這種架構的應用前景!
關鍵性代碼如下:
<a></a>
程式截圖
單個 dll 檔案包含一個窗體時:
當程式目錄下的所有程式集中包含一個窗體類時,程式運作界面:
多個 dll 檔案包含多個窗體時:
當程式目錄下的所有程式集中包含多個窗體類時,程式運作界面:
沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的架構所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如别人所關心你的。理想的騰飛與實作,沒有别人的支援與幫助,是萬萬不能的。
本文轉自wenglabs部落格園部落格,原文連結:http://www.cnblogs.com/arxive/p/5823560.html,如需轉載請自行聯系原作者