Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从python代码中检索当前正在执行的函数?_C#_Python_Ironpython - Fatal编程技术网

C# 如何从python代码中检索当前正在执行的函数?

C# 如何从python代码中检索当前正在执行的函数?,c#,python,ironpython,C#,Python,Ironpython,使用C#中设置的python脚本引擎,使用IronPython,是否有方法从python代码中检索当前正在执行的函数 例如。在我的代码中,setup python脚本引擎存储在变量pse中。是否有类似于pse.GetVariables()的调用返回当前正在执行的python函数 例如,我希望能够提取此信息,以便在测试的检查中使用它。您可以使用跟踪功能。设置将为执行脚本的每一行调用的跟踪回调。从该回调中,可以获得当前正在执行的函数名 pse.SetTrace(IronPythonTraceCall

使用C#中设置的python脚本引擎,使用IronPython,是否有方法从python代码中检索当前正在执行的函数

例如。在我的代码中,setup python脚本引擎存储在变量
pse
中。是否有类似于
pse.GetVariables()
的调用返回当前正在执行的python函数


例如,我希望能够提取此信息,以便在测试的检查中使用它。

您可以使用跟踪功能。设置将为执行脚本的每一行调用的跟踪回调。从该回调中,可以获得当前正在执行的函数名

pse.SetTrace(IronPythonTraceCallbaback);
以及回调定义:

static TracebackDelegate IronPythonTraceBack(TraceBackFrame frame, string result, object payload)
{
    if (frame != null && frame.f_code != null)
    {
         // Here you can access the executing function information
         FunctionCode functionCode = frame.f_code;
         string functionName = frame.f_code.co_name;
    }

    return IronPythonTraceBack;
}