IronPython指令碼呼叫C dll示例

2021-09-05 01:42:18 字數 1726 閱讀 5548

上兩篇ironpython指令碼的文章介紹了與c#緊密結合的示例,這裡還將提供乙個與c#結合更緊密的示例,直接呼叫c#編寫的dll。

我們還是沿用了上篇文章的**(其實這裡可以直接使用ironpython偵錯程式進行聯調了,沒有必要再嵌入到c#了)

using system;  

using system.collections.generic;  

using system.componentmodel;  

using system.data;  

using system.drawing;  

using system.text;  

using system.windows.forms;  

using ironpython.hosting;  

namespace testironpython  

private

void button1_click(object sender, eventargs e)  

}  }  

開始編寫可供ironpython指令碼呼叫的dll,我們編寫了兩個類,乙個提供靜態函式訪問,另乙個提供屬性和普通函式訪問,以區別在ironpython指令碼不同呼叫的方式。**如下:  

using system;  

using system.collections.generic;  

using system.text;  

namespace ironpython_testdll  

}  public

class testdll1  

set   

}  public

void showaaa()  

}  }  

下面再讓我們看看ironpython指令碼中的**吧:

import clr  

clr.addreferencebypartialname("system.windows.forms")  

clr.addreferencebypartialname("system.drawing")  

from system.windows.forms import *  

from system.drawing import *  

clr.addreferencetofile("ironpython_testdll.dll")  

from ironpython_testdll import *  

a=12  

b=6  

c=testdll.add(a,b)  

messagebox.show(c.tostring())  

td=testdll1()  

td.aaa=100  

td.showaaa()  

比較關鍵的是這兩句:

clr.addreferencetofile("tronpython_testdll.dll")    -- 載入dll檔案  

from tronpython_testdll import *                                  -- 匯入命名空間   

靜態方法可以直接呼叫,普通方法需要先定義類,再訪問(和訪問ironpython

自己本身的類沒有任何區別)。

執行結果如下:

現在你是否對ironpython充滿期待和興趣了吧,動起手來,感受它的強大!

IronPython指令碼呼叫C dll示例

上兩篇ironpython指令碼的文章介紹了與c 緊密結合的示例,這裡還將提供乙個與c 結合更緊密的示例,直接呼叫c 編寫的dll。我們還是沿用了上篇文章的 其實這裡可以直接使用ironpython偵錯程式進行聯調了,沒有必要再嵌入到c 了 using system using system.col...

IronPython指令碼呼叫C dll示例

上兩篇ironpython指令碼的文章介紹了與c 緊密結合的示例,這裡還將提供乙個與c 結合更緊密的示例,直接呼叫c 編寫的dll。我們還是沿用了上篇文章的 其實這裡可以直接使用ironpython偵錯程式進行聯調了,沒有必要再嵌入到c 了 using system using system.col...

IronPython指令碼呼叫C dll示例

上兩篇ironpython指令碼的文章介紹了與c 緊密結合的示例,這裡還將提供乙個與c 結合更緊密的示例,直接呼叫c 編寫的dll。我們還是沿用了上篇文章的 其實這裡可以直接使用ironpython偵錯程式進行聯調了,沒有必要再嵌入到c 了 using system using system.col...