C 中使用IronPython動態執行表示式小試

2021-08-25 20:39:09 字數 509 閱讀 5388

c#中不能對字串表示式進行編譯執行,我想到一種解決辦法是,新增對ironpython(python與.net平台互動的版本)的引用,從而利用python來執行。

我用的是ironpython2.0(之前嘗試過用ironpython2.7,但發現在vs2008中不能新增對ironpython的引用,所以如果發現使用不了,就換個版本試試)

接著可以寫幾句**測試一下ironpython可用

scriptengine engine = python.createengine(); string expr = "16132 if 36>12 else 16131"; string result = engine.execute(expr).tostring(); console.writeline(result);

本人覺得這個還是很有用處的。

比如 在配置檔案中我們可以定義表示式,在程式中讀取配置表示式之後,交給ironpython執行,從而得到動態結果。

可能作用遠不至此,還在學習python中,繼續發掘中。

如何在IronPython中使用C 擴充套件方法

在現在的開發過程中為了減少單個檔案的 量,降低協同開發時檔案被獨佔鎖定的機率,我們經常會使用擴充套件方法。擴充套件方法使您能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。擴充套件方法是一種特殊的靜態方法,但可以像擴充套件型別上的例項方法一樣進行呼叫。隨著dlr的...

在stored procedure中使用動態SQL

所謂動態sql,是相對靜態sql而言的,靜態sql在編譯的時候就已經知道它的全部內容了。而動態sql指令碼是在編譯的時候還不完整,直到執行過程中才能確定的sql語句。在db2 400中實現動態sql的方式很多,但一般都採用prepare的方式來實現,下面是在sqlc中實現動態sql的例項 exec ...

C 中使用屬性

使用屬性,避免將資料成員直接暴露給外界 item always use properties instead of accessible data members.學習研究.net的早期,經常碰到一些學習c net的朋友問,要屬性這種華而不實的東西做什麼?後來做專案時也時常接到team裡的人的抱怨反...