1

是否可以从托管 IronPython 环境中执行的 Python 脚本中检索行号?我想在脚本执行时以某种方式在托管环境之外(在托管应用程序中)的 AvalonEdit 控件中突出显示该行。

4

1 回答 1

2

我已经想通了,可以通过简单地给脚本引擎一个跟踪回调方法并(可能是异步地)触发一个适当的事件来相应地刷新 IBackgroundRenderer ......嗯......它工作。

strategyScriptEngine.SetTrace(IronPythonTraceBack);
strategyScriptEngine.Execute(script, strategyScope);

在同一班的其他地方:

private static TracebackDelegate IronPythonTraceBack(TraceBackFrame frame, string result, object payload)
{
    if (IronPythonExecutingLine != null) IronPythonExecutingLine((int)frame.f_lineno);
    return IronPythonTraceBack;
}
于 2013-03-14T18:34:46.180 回答