代码改变世界

[集成IronPython] 使用Module扩展IronPython

2008-08-16 17:24 by Colin Han, ... 阅读, ... 评论, 收藏, 编辑


失败

在IronPython的源代码中,提供了一个PythonModuleAttribute,我原以为这个Attribute是为自定义Module建立的。在clr.AddReference时会检查Assembly中的所有PythonModuleAttribute。并将指定的类型作为Module导入到Python的运行环境中。

但是,今天实际测试的结果并不是这样。IronPython仅在自己的IronPython.dll和IronPython.Modules.dll中支持这个Attribute.

目前看来,向Scope中添加Clr对象还是比较正统的实现方式。关于其他的扩展途径,还正在研究中。

跳过这一节,下一节《使CLR对象对动态语言更友好(一)》中,我将实现一个CLR对象,可以支持最基本的动态语言特性——运行时添加删除属性。