Нашли способ сделать это:
var ops = engine.Operations;
var x = ops.GetMember(pythonObject, member);
var h = ops.Call(x, new object[0]);
Похоже, что Operations создает объект OperationsObject, в котором есть полезные элементы.
Глядя на код DLR (Microsoft.Scripting.Hosting), я вижу, что Call устарел:
[Obsolete("Use Invoke instead")]
public object Call(object obj, params object[] parameters) {
return _ops.Invoke(obj, parameters);
}
Моя версия сценария 0.9.20209, однако, пока не имеет Invoke.
После обновления до более новой версии IronPython 2.6Beta и его скриптовых библиотек я могу написать:
var h = ops.InvokeMember(pythonObject, member, new object[0]);