動態載入類(在程式中呼叫DLL檔案)

2021-03-31 08:57:00 字數 876 閱讀 6975

我們在編寫程式的時候經常會遇到這樣的情況:程式中要用到某種計算,而且這種計算的計算方式很多,我們不得不在編寫程式時就要考慮的十分全面,將各種情況到考慮到。但是這樣做又非常的費力,因為我們無法**到程式編好後,還會出現什麼樣的計算方式。如果計算方式是在交付給客戶後,客戶新提出的我們就不得不將新的計算方式寫人程式中,然後重新編譯,再交給客戶。這樣做是相當麻煩的,而且只為了這麼一小段程式,就要重新編譯整個工程,似乎代價也挺大的。

使用ms.***中system.reflection中的一些方法,可以幫助我們很好的解決上面的問題。

首先,在遇到上面提出的問題的時候,我們先要進行一下分析,這種計算需要一些什麼引數?在不同的計算方式中,它們共同的引數是什麼?不同的計算方式中特有的引數是否可以通過共有的引數計算出來,或是通過其它方法獲得?分析完後,提取出可用的共同引數。

接下來,我們就可以編寫計算方法了。將這種計算的每一種方式都寫成乙個dll乙個類中的方法,並將其編譯為乙個dll檔案。ms.***中,類的格式要定死,也就是說編寫的類的namespace和class要一樣,類中的方法名稱也必須是一樣的。而且,方法的引數就是上面所說的共同引數。

然後,將編譯好的dll檔案放在同一資料夾內,隨程式一起發布就可以了。

在程式中可以這樣處理所要用到的不同計算方式:給每一種計算方式起乙個名字(客戶能夠明白的),然後將這些名字放在下拉列表框的text屬性中,並將對應的dll檔名放在下拉列表框的value屬性中。這樣,使用者選擇不同的計算方式就可以呼叫不同dll檔案中的計算方法了。

下面是乙個簡單的示例:

我將計算方式的名字和dll檔名放在乙個xml檔案中,程式載入時將它們讀取到下拉列表框中。方法如下:(asp.***中)

// 在此處放置使用者**以初始化頁面

if(page.ispostback==false)

動態載入類(在程式中呼叫DLL檔案)

動態載入類 動態載入dll 檔案 本人剛剛開始編寫程式不久,開發中發現一非常好的方法。大家共享。我們在編寫程式的時候經常會遇到這樣的情況 程式中要用到某種計算,而且這種計算的計算方式很多,我們不得不在編寫程式時就要考慮的十分全面,將各種情況到考慮到。但是這樣做又非常的費力,因為我們無法 到程式編好後...

在C 中動態載入類(在程式中呼叫DLL檔案)

本人剛剛開始編寫程式不久,開發中發現一非常好的方法。大家共享。我們在編寫程式的時候經常會遇到這樣的情況 程式中要用到某種計算,而且這種計算的計算方式很多,我們不得不在編寫程式時就要考慮的十分全面,將各種情況到考慮到。但是這樣做又非常的費力,因為我們無法 到程式編好後,還會出現什麼樣的計算方式。如果計...

在Symbian中動態載入DLL

在symbian中動態載入dll 2008年08月27日 星期三 下午 05 05 我想大家對symbian已經有了基本的了解,我就不再介紹了。總起來說,我感覺symbian和windows系統相當的相似,而s60的程式設計框架和mfc又有八分相近。那麼,在windows中我們能動態的引入dll那在...