C 與IronPython指令碼進行資料互動示例

2021-09-03 06:20:43 字數 645 閱讀 7855

單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。

ironpython指令碼最優秀的地方就是與c#(或者說.net框架集)幾乎無縫整合,c#實現的類很容易就傳入到指令碼中去。(目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將來能實現嵌入式版本)。

這是宿主語言的**:     

public partial class form1 : form  

...  

private void button1_click(object sender, eventargs e)  

...  

}  //資料互動類  

public class testdata  

...  

上面最關鍵的**就是:scriptengine.defaultmodule.globals["td"] = td;

scriptengine.defaultmodule這是乙個字典類,可以新增多個不同型別,供指令碼使用。字典中的關鍵字與指令碼中物件的名稱保持一致(內容任意,可以和你傳的物件名稱不一樣,關鍵看你的意願了)即可。

指令碼對類中的乙個變數進行運算,然後把結果顯示出來(如下圖,對應指令碼在文字框裡) 

C 與IronPython指令碼進行資料互動示例

單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。ironpython指令碼最優秀的地方就是與c 或者說.net框架集 幾乎無縫整合,c 實現的類很容易就傳入到指令碼中去。目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將...

C 與IronPython指令碼進行資料互動示例

單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。ironpython指令碼最優秀的地方就是與c 或者說.net框架集 幾乎無縫整合,c 實現的類很容易就傳入到指令碼中去。目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將...

C 與IronPython指令碼進行資料互動示例

單單執行指令碼是沒有什麼意思的,最重要的是嵌入的指令碼能和宿主語言進行互動,下面我就講講這方面的實現。ironpython指令碼最優秀的地方就是與c 或者說.net框架集 幾乎無縫整合,c 實現的類很容易就傳入到指令碼中去。目前唯感遺憾的是,ironpython指令碼還沒有支援嵌入版,希望不遠的的將...