我正在使用 Jint,我想知道是否有办法从 C# 角度获取脚本全局范围内可用的所有已定义变量和函数。
例如,给定文件“test.js”中的以下 Javascript 代码:
function globalFunc(a, b) {
var localVar = a + b;
return localVar;
}
var globalVar = 5;
...并给出以下 C# 代码(使用 Jint 2.4.0):
Jint.Engine engine = new Jint.Engine();
engine.Execute(System.IO.File.ReadAllText("test.js");
// the following method call do not exist in Jint, just here for example...
JsValue[] variables = engine.GetGlobalScopeVariables();
然后期望变量包含两个值,即“Function”类型的名为“globalFunc”的变量和“Number”类型的名为“globalVar”的变量。
预期的答案可能会导致一些 Jint 黑客攻击。我也对此持开放态度。
谢谢!