2017-01-25 7 views
0

私はMicrosoft.Scripting.Hosting.ScriptEngineを使用しており、IronPython.Hosting.Python.CreateEngine()でインスタンス化しています。スコープを作成し、Pythonコードを実行します。Python ScriptEngineを使ってC#ですべてのローカル変数名と値を取得するには?

これで、C#でローカルに割り当てられた変数名とその値をすべて収集したいと考えています。どのようにPythonスクリプトで宣言され割り当てられた変数名と値をすべて抽出することができますか?Python ScriptEngineとScopeを照会することによってC#から変数名と値を抽出できますか?

ありがとうございました

答えて

1

これは、動的オブジェクトとリフレクションによって実行できます。 これはちょうどウィングコードですが、あなたが私を送ったり、ソリューションをホストすれば、私はあなたのためにそれを解決することができます。これがない私はので、私はさらにあなたを支援することができます知らせてください場合は、...のためか探しているものであれば

dynamic someOject = IronPython.Hosting.Python.CreateEngine(); 

foreach (var property in someOject.GetType().GetProperties()) 
    Console.WriteLine($"Property Name: {property.Name} - Property Value: {property.GetValue(someOject)}"); 

わかりません。

+2

感謝しますが、私は 'scope.GetVariableNames()'と 'scope.GetVariable(string variableName)'でもっと簡単な方法を見つけました。 –

関連する問題