上兩篇ironpython指令碼的文章介紹了與c#緊密結合的示例,這裡還將提供乙個與c#結合更緊密的示例,直接呼叫c#編寫的dll。
我們還是沿用了上篇文章的**(其實這裡可以直接使用ironpython偵錯程式進行聯調了,沒有必要再嵌入到c#了)
usingsystem;
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指令碼不同呼叫的方式。**如下:
usingsystem;
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...