直接Import:(限于mscorlib.dll里的所有命名空间和类)
IronPython可以方便的使用许多.net的类,而不用显式的添加引用
比如,使用from System.Collections import * 我们会可以添加对.net集合类的引用
from System.Collections import *
list1=ArrayList()
list1.Add(1)
list1.Add(2)
list1.Add(3)
print list.Count
ht=Hashtable()
ht.Add(1,1)
ht.Add('2',2)
print ('aaaa')
先添加引用,再import
凡是mscorlib.dll里的所有命名空间和类都是可以用上面的方法直接import,因为这个mscorlib.dll是默认引用的
(通过ipy.exe -X:SaveAssemblies:可以把ipy生成的程序集缓存下来,用反编译工具查看就可以看到)但是如果需要引入其他模块中的类,
就需要通过clr模块提供的添加引用的一系列方法,就好像在写.net程序的时候需要先添加引用,再using一样,
比如如果你希望使用System.Xml命名空间下的类
import clr
clr.AddReference("System.Xml")
from System.Xml import *
doc=XmlDocument()
doc.Load("test.xml")
用反编译工具查看生成的程序集,可以发现程序集并没有增加引用,在程序中我们可以看到,对引用的添加是通过反射动态进行的
关于引用的有趣的