2012-04-01 47 views
2
 ScriptEngine PythonEngine = Python.CreateEngine();    
     Scope = PythonEngine.CreateScope(); 

     Point P = new Point(-1,1); 
     Scope.SetVariable("QWE", P); 

     PythonEngine.Execute("QWE.X = 0"); 

     Console.WriteLine(P); 

「UnboundNameException是未處理的」修改點,UnboundNameException

「沒有定義的全局名稱‘QWE’」

我不知道這是什麼例外的含義,也不知道怎樣去解決它,我相信我正在做一些非常簡單的事情......對吧?

回答

3

你的發動機是不依賴於範圍。更改以下行:

PythonEngine.Execute("QWE.X = 0", scope); 

的錯誤意味着變量「QWE」是不是在代碼中聲明。這是因爲引擎沒有在定義的範圍內執行(在QWE被聲明的地方)。

我建議你閱讀這link開始使用IronPython的。他們有代碼示例和一些解釋。