Je peux récupérer une classe IronPython 2 sur mon C#. Quelle est la nouvelle façon d'appeler un membre IronPython 2 sur cette classe?Comment appeler une méthode IronPython 2 à partir de C#
object ironPythonClass = scope.GetVariable("Hamish");
object[] args = new object[0];
object pythonObject = engine.Operations.Call(ironPythonClass, args);
var member = "Home";
// old way IronPython 1
// var methodResult = Ops.Invoke(this.pythonObject, SymbolTable.StringToId(member), args);
Je pensais que tout ce que je devais faire était
var methodResult = PythonOps.Invoke(codeContext, pythonObject, SymbolTable.StringToId(member), args);
mais la création d'un CodeContext factice ne semble pas avoir raison. Je me sens comme si je devrais être en mesure de tirer un de mes
code.Execute();
qui exécute le fichier Python création de la classe, plus la portée qui découle de cette exécution.
Mise à jour à la version bêta 2.6 avec les DLLs de script plus récents - Je peux maintenant écrire: var h = ops. InvokeMember (pythonObject, membre, nouvel objet [0]); –