IronPython指令碼呼叫C dll示例

2021-09-22 04:33:36 字數 1872 閱讀 7203

上兩篇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...