![](/img/trans.png)
[英]Is “Jint - Javascript Interpreter for .NET” reliable?
[英]What happens if I define a .Net class in JavaScript code using Jint engine
在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!"
您沒有注入C#代碼,Jint解釋器將理解您是對.NET類的引用,因此執行此代碼。 因為Jint是用.NET編寫的,所以它可以運行你要求的任何.NET代碼。
Jint也沒有編譯任何東西,它會讀取每個javascript語句並嘗試一個接一個地評估它們,跟蹤你聲明和使用的所有變量,函數和其他JS工件。
讓我們一步一步地完成Invoke調用:
現在回答你的問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.