问题描述
我正在尝试将数组/列表作为参数发送到 IronPython 方法。
我可以传递一个普通的数组或列表(它可以工作),但是像 pop
这样的原生方法在 Python 端不可用。
将 C# List<>
转换为 IronPython.Runtime.List
的最佳方法是什么?
我找到了 IronPython.Runtime.List.__new__
方法,但我不知道如何填充 CodeContext
和 PythonType
变量。
我找到了相反的方法:passing Lists from IronPython to C#
解决方法
糟糕 - 找到了。只使用一个空的构造函数():
public static IronPython.Runtime.List ToPythonList(this IEnumerable<object> list)
{
var result = new IronPython.Runtime.List();
foreach ( var item in list )
result.append( item );
return result;
}