在 Jint 中,您可以访问JS中的.Net类。
JS文件代码:
var write = function (msg) {
var log = System.Console.WriteLine;
log(msg);
};
C#代码
Engine jsEngine = new Engine(e=>e.AllowClr());
string script = System.IO.File.ReadAllText("file1.js");
jsEngine.Execute(script);
jsEngine.Invoke("write", "Hello World!"); //Displays in Console: "Hello World!"
答案 0 :(得分:1)
您没有注入C#代码,Jint解释器将理解您是对.NET类的引用,因此执行此代码。因为Jint是用.NET编写的,所以它可以运行你要求的任何.NET代码。
Jint也没有编译任何东西,它会读取每个javascript语句并尝试依次评估它们,跟踪你声明和使用的所有变量,函数和其他JS工件。
答案 1 :(得分:0)
让我们一步一步地完成Invoke调用:
现在回答你的问题: