csharp 小类调用IronPython并使用它的参数执行传入的方法名称。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 小类调用IronPython并使用它的参数执行传入的方法名称。相关的知识,希望对你有一定的参考价值。
namespace PythonEnine
{
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
/// <summary>
/// Creates the Python engine and invokes methods
/// </summary>
public class PythonEngine
{
private ScriptSource scriptSource;
private CompiledCode compiledCode;
private ScriptScope scope;
private ScriptEngine engine;
public PythonEngine(string scriptPath)
{
this.Script = scriptPath;
}
public string Script { get; set; }
public dynamic InvokeMethodWithParameters(string methodName, params object[] parameters)
{
engine = Python.CreateEngine();
scriptSource = engine.CreateScriptSourceFromFile(this.Script);
compiledCode = scriptSource.Compile();
scope = engine.CreateScope();
compiledCode.Execute(scope);
dynamic pythonMethod = scope.GetVariable(methodName);
return engine.Operations.Invoke(pythonMethod, parameters);
}
}
}
以上是关于csharp 小类调用IronPython并使用它的参数执行传入的方法名称。的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中嵌入 IronPython 时出现问题(缺少编译器所需的成员 'Microsoft.CSharp.RuntimeBinder.Binder.InvokeMember'
IronPython 将python源码编译成dll,用python调用报错ImportError: dynamic module does not define...
在C#环境中动态调用IronPython脚本(一)
循环 Python / IronPython 对象方法
csharp 调用commant类实例并执行它。
C#调用Python