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