これまでのところ、使用するためにPythonエンジン(IronPython)をラップする単純なクラスがあります。コードは大きく見えますが、本当に単純なので、ここにコピーして、問題をより明確にします。
コードは次のとおりです。
public class PythonInstance
{
ScriptEngine engine;
ScriptScope scope;
ScriptSource source;
public PythonInstance()
{
engine = Python.CreateEngine();
scope = engine.CreateScope();
}
public void LoadCode(string code)
{
source = engine.CreateScriptSourceFromString(code, Microsoft.Scripting.SourceCodeKind.Statements);
source.Compile();
}
public void SetVariable(string key, dynamic variable)
{
scope.SetVariable(key, variable);
}
public void RunCode()
{
source.Execute(scope);
}
public void CallFunction(string function)
{
//?????? no idea what to call here
}
}
ですから、うまく機能しますが、一度にすべてのpythonスクリプトを実行することしかできません...しかし、私がやりたいのは、pythosスクリプト内から特定の関数を呼び出せるようにすることです。
だから、私の質問:ロードされたスクリプトで特定の関数を呼び出すにはどうすればよいですか?
いくつかの情報やチュートリアルを見つけようとしていましたが、残念ながら何も見つかりませんでした。