2010-09-25 23 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程序集。

相关问题