失败
在IronPython的源代码中,提供了一个PythonModuleAttribute,我原以为这个Attribute是为自定义Module建立的。在clr.AddReference时会检查Assembly中的所有PythonModuleAttribute。并将指定的类型作为Module导入到Python的运行环境中。
但是,今天实际测试的结果并不是这样。IronPython仅在自己的IronPython.dll和IronPython.Modules.dll中支持这个Attribute.
目前看来,向Scope中添加Clr对象还是比较正统的实现方式。关于其他的扩展途径,还正在研究中。
跳过这一节,下一节《使CLR对象对动态语言更友好(一)》中,我将实现一个CLR对象,可以支持最基本的动态语言特性——运行时添加删除属性。