私の質問は原始的です。しかし、それは非常に便利です。GitHubでSebastien Ros Jint アプリケーションを確認しました。
GetValue プロパティを複数回取得するにはどうすればよいですか?
GetValues(x,y,z...)
またはGetValue("x").GetValue("y").GetValue("z")
。x、y、z ..の結果が必要だからです。x 値だけではありません。
私はjsコードを実行しなければならないプロジェクトを持っていますが、if比較がたくさんあります(「if-else」ではないことに注意してください。if-if-ifがあります...)すべてのifにアクセスできます声明の結果。方法があることを発見しましたGetValue
。しかし、アクセスできる値は 1 つだけです。「y」にアクセスしたいときは、 を使わなければなりませんGetValue("y")
。しかし、同時に「x」の値を見たいのです。多分私はそれを望んでいGetValues("x","y","z"...)
ます。
var square = new Engine()
.SetValue("x", 3) // define a new variable
.SetValue("y",4)
.Execute(" var isok1=false; var isok2= false; if(3>1) { x * x; isok1=true; } if(2>1) { y * y }").GetValue("y") // execute a statement
.ToObject() // converts the value to .NET
;
Console.WriteLine(square.ToString());
var square = new Engine()
.SetValue("x", 3) // define a new variable
.SetValue("y",4)
.Execute(" var isok1=false; var isok2= false; if(3>1) { x * x; isok1=true; } if(2>1) { y * y } isok1;").GetCompletionValue() // execute a statement
.ToObject() // converts the value to .NET
;
Console.WriteLine(square.ToString());
コードプレックスでジュラシックをチェックしました
そして、私はそれを以下のように使用しました:
var engine = new Jurassic.ScriptEngine();
engine.SetGlobalValue("x", 15);
engine.SetGlobalValue("y", 2);
engine.Execute(@" var isok1=false; var isok2= false; if(3>1) { x=x * x; isok1=true; } if(2>1) { y= y * y; isok2=true; } ");
Console.WriteLine(engine.GetGlobalValue<int>("x"));
Console.WriteLine(engine.GetGlobalValue<int>("y"));
Console.WriteLine(engine.GetGlobalValue<bool>("isok1"));
Console.WriteLine(engine.GetGlobalValue<bool>("isok2"));
Console.ReadKey();
質問:
myproject 内でそれを行うにはどうすればよいですか?しかし、ジュラシックの代わりにジントを使用していますか? Jint multiGetValues プロパティが必要です...