国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

基于組件的.NET軟件開發(3)

2024-07-10 13:03:50
字體:
來源:轉載
供稿:網友
注冊會員,創建你的web開發資料庫,動態組件插拔
在實現動態組件插拔之前,我們必須了解一個概念:反射(reflection)。

所謂反射,就是僅依據名字來創建一個對象。

舉個例子,在上面的例子中,我可以直接給定一個字串:“ csharpclassnamespace.csharprect”,然后我就可以生成這個對象,并調用它的area()方法求面積!其前提條件是程序能訪問存放這些類的dll文件。

好了,現在可以說說我們的構想了:

我們把某個程序要用到的dll和其中的類名放在一個配置文件中,程序啟動時讀取這個文件,就可以自動地加載外部指定的dll,實現程序的組件動態裝配。當我需要更換程序中的某個組件時,我只需要將新dll復制到程序文件夾之下,系統就馬上可以使用新的組件,而不用重新編譯或修改組件調用者原有的任何代碼!

現在看看我們的示例是怎么樣的!

我們創建兩個vb類庫,每個類庫都封裝了一個窗體。vbdynamiccomponent組件中封裝了以下窗體:



圖 6 組件一

vbdynamiccomponent2組件中封裝了以下窗體:



圖 7 組件二

主程序是一個windows應用程序,它可以動態創建兩個組件中的任何一個窗體對象,并顯示它們:



圖 8 示例程序主窗體

主程序在啟動時會讀取一個系統配置清單,是xml格式的,如下所示:



<?xml version="1.0" encoding="gb2312" ?>

<config>

<component componentname=" dynamiccomponent.vbform1" componentfilename="dynamiccomponent.dll" />

<component componentname="vbdynamiccomponent2.vbform2" componentfilename="vbdynamiccomponent2.dll" />

</config>



主程序根據清單裝入指定的組件dll文件,并依據componentname屬性值創建對象,排列在第一位的組件窗體被自動顯示。

大家看一看,這樣一個系統組件裝配清單,象不象一個廚師準備大餐時的原料清單?現在就開始制作我們的“滿漢全席”吧!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵川县| 马关县| 全南县| 昌宁县| 上林县| 古浪县| 唐河县| 廉江市| 贺州市| 托里县| 平武县| 东光县| 和平县| 太仆寺旗| 炉霍县| 新田县| 都江堰市| 铁力市| 含山县| 永福县| 乌拉特中旗| 新建县| 化州市| 陆良县| 洪雅县| 庆阳市| 剑川县| 宾川县| 怀安县| 马边| 西充县| 中牟县| 丹巴县| 都匀市| 清水河县| 洛川县| 密山市| 双城市| 湄潭县| 成都市| 太和县|