動態載入類(動態載入dll
檔案)本人剛剛開始編寫程式不久,開發中發現一非常好的方法。大家共享。
我們在編寫程式的時候經常會遇到這樣的情況:程式中要用到某種計算,而且這種計算的計算方式很多,我們不得不在編寫程式時就要考慮的十分全面,將各種情況到考慮到。但是這樣做又非常的費力,因為我們無法**到程式編好後,還會出現什麼樣的計算方式。如果計算方式是在交付給客戶後,客戶新提出的我們就不得不將新的計算方式寫人程式中,然後重新編譯,再交給客戶。這樣做是相當麻煩的,而且只為了這麼一小段程式,就要重新編譯整個工程,似乎代價也挺大的。
使用ms.net中system.reflection中的一些方法,可以幫助我們很好的解決上面的問題。
首先,在遇到上面提出的問題的時候,我們先要進行一下分析,這種計算需要一些什麼引數?在不同的計算方式中,它們共同的引數是什麼?不同的計算方式中特有的引數是否可以通過共有的引數計算出來,或是通過其它方法獲得?分析完後,提取出可用的共同引數。
接下來,我們就可以編寫計算方法了。將這種計算的每一種方式都寫成乙個dll乙個類中的方法,並將其編譯為乙個dll
檔案。ms.net中,類的格式要定死,也就是說編寫的類的namespace和class要一樣,類中的方法名稱也必須是一樣的。而且,方法的引數就是上面所說的共同引數。
然後,將編譯好的dll
檔案放在同一資料夾內,隨程式一起發布就可以了。
在程式中可以這樣處理所要用到的不同計算方式:給每一種計算方式起乙個名字(客戶能夠明白的),然後將這些名字放在下拉列表框的text屬性中,並將對應的dll
檔名放在下拉列表框的value屬性中。這樣,使用者選擇不同的計算方式就可以呼叫不同dll
檔案中的計算方法了。
下面是乙個簡單的示例:
我將計算方式的名字和dll
檔名放在乙個xml檔案中,程式載入時將它們讀取到下拉列表框中。方法如下:(asp.net中)
// 在此處放置使用者**以初始化頁面
if(page.ispostback==false)
動態載入類(在程式中呼叫DLL檔案)
我們在編寫程式的時候經常會遇到這樣的情況 程式中要用到某種計算,而且這種計算的計算方式很多,我們不得不在編寫程式時就要考慮的十分全面,將各種情況到考慮到。但是這樣做又非常的費力,因為我們無法 到程式編好後,還會出現什麼樣的計算方式。如果計算方式是在交付給客戶後,客戶新提出的我們就不得不將新的計算方式...
在C 中動態載入類(在程式中呼叫DLL檔案)
本人剛剛開始編寫程式不久,開發中發現一非常好的方法。大家共享。我們在編寫程式的時候經常會遇到這樣的情況 程式中要用到某種計算,而且這種計算的計算方式很多,我們不得不在編寫程式時就要考慮的十分全面,將各種情況到考慮到。但是這樣做又非常的費力,因為我們無法 到程式編好後,還會出現什麼樣的計算方式。如果計...
在Symbian中動態載入DLL
在symbian中動態載入dll 2008年08月27日 星期三 下午 05 05 我想大家對symbian已經有了基本的了解,我就不再介紹了。總起來說,我感覺symbian和windows系統相當的相似,而s60的程式設計框架和mfc又有八分相近。那麼,在windows中我們能動態的引入dll那在...