IronPython 是用纯 c 编写的
IronPython 是使用托管的 .net(C#)代码完整编写的。因此所有 builtin
python 方法和库(例如 next()
,int()
等)都在 .net 中写入。
此示例显示 len()
的实现,用于不同类型的列表(仅少数):
....
public static int len([NotNull]List/*!*/ list) {
return list.__len__();
}
public static int len([NotNull]PythonTuple/*!*/ tuple) {
return tuple.__len__();
}
public static int len([NotNull]PythonDictionary/*!*/ dict) {
return dict.__len__();
}
….
如果我们需要其他类型来计算长度,请将它们添加到 Builtin.cs
中,它将自动生效。