dld類的使用
/// <summary>
/// 創(chuàng)建一個 dld 類對象
/// </summary>
private dld myfun=new dld();
3. 在“B3_Click”方法體內(nèi)添加如下代碼:
myfun.LoadDll("Count.dll"); // 加載 "Count.dll"
myfun.LoadFun("_count@4"); // 調(diào)入函數(shù) count, "_count@4" 是它的入口,可通過 Depends 查看
4. “Form1.cs[設(shè)計]”視圖中雙擊按鈕B4,在“B4_Click”方法體內(nèi)添加如下代碼:
object[] Parameters = new object[]{(int)0}; // 實參為 0
Type[] ParameterTypes = new Type[]{typeof(int)}; // 實參類型為 int
ModePass[] themode=new ModePass[]{ModePass.ByValue}; // 傳送方式為值傳
Type Type_Return = typeof(int); // 返回類型為 int
// 彈出提示框,顯示調(diào)用 myfun.Invoke 方法的結(jié)果,即調(diào)用 count 函數(shù)
MessageBox.Show(" 這是您裝載該 Dll 后第 "+myfun.Invoke(Parameters,ParameterTypes,themode,Type_Return).ToString()
+" 次點擊此按鈕。 "," 挑戰(zhàn)杯 ");
5. “Form1.cs[設(shè)計]”視圖中雙擊按鈕B5,在“B5_Click”方法體內(nèi)添加如下代碼:
myfun.UnLoadDll();
6. 按“F5”運行該程序,并先點擊按鈕B3以加載“Count.dll”,接著點擊按鈕B4三次以調(diào)用3次“count(0)”,先后彈出的提示框如下:
這三個提示框所得出的結(jié)果說明了靜態(tài)變量S 經(jīng)初始化后,再傳入實參“0”也不會改變其值為“0”。
7. 點擊按鈕B5以卸載“Count.dll”,再點擊按鈕B3進(jìn)行裝載“Count.dll”,再點擊按鈕B4查看調(diào)用了“count(0)”的結(jié)果:
從彈出的提示框所顯示的結(jié)果可以看到又開始重新計數(shù)了,也就是實現(xiàn)了DLL的動態(tài)裝載與卸載了。
點擊加載更多評論>>