2010-09-25 47 views

回答

1

這部分是將dynamic類型添加到C#4.0中的動機。最大的問題是IronPython聲明不包含類型信息,這使得它很難從C#中使用它。 dynamic關鍵字將對這種動態類型對象的支持添加到C#4.0中。參見例如:

調用從C#3.0的功能/對象是更煩人了一點,但它是still possible。你只需要寫一些像foo.Invoke("Bar", 42)而不是隻寫foo.Bar(42)

0

我在我的手機上輸入了這個內容,請原諒任何愚蠢的錯誤。要使用編譯後的程序集,請確保使用clr.CompileModules進行編譯,而不是pyc.py。然後在你的C#中調用你的Python ScriptEngine對象的LoadAssembly方法。然後可以通過調用ScriptEngine上的ImportModule方法來導入該模塊。如果您可以利用動態關鍵字,那麼請這樣做。否則,你會被一些魔法字符串大量調用GetVariable。另外請注意,您必須以一種或另一種形式將標準庫提供給編譯的Python程序集。

相關問題