要在C#中調用TypeScript編寫的模塊,您需要將TypeScript代碼轉換為JavaScript代碼,然后使用C#執行JavaScript代碼。這里有一個簡單的步驟來實現這個目標:
安裝Node.js: 首先,您需要安裝Node.js,因為我們將使用它來運行JavaScript代碼。您可以從官方網站下載并安裝Node.js:https://nodejs.org/en/download/
編寫TypeScript代碼: 創建一個TypeScript文件(例如:myModule.ts
),并編寫您的TypeScript代碼。例如:
// myModule.ts
export function greet(name: string): string {
return `Hello, ${name}!`;
}
tsc
)將TypeScript代碼編譯為JavaScript代碼。在命令行中運行以下命令:tsc myModule.ts --module commonjs
這將生成一個名為myModule.js
的JavaScript文件,內容如下:
// myModule.js
exports.greet = function (name) {
return "Hello, " + name + "!";
};
創建C#項目: 使用Visual Studio或其他IDE創建一個新的C#項目。
安裝Edge.js: 在C#項目中,通過NuGet包管理器安裝Edge.js。在包管理器控制臺中運行以下命令:
Install-Package Edge.js -Version 13.6.20408.3
using System;
using System.Threading.Tasks;
using EdgeJs;
namespace CallTypeScriptFromCSharp
{
class Program
{
static async Task Main(string[] args)
{
var func = Edge.Func(@"
const myModule = require('./myModule.js');
return function (data, callback) {
myModule.greet(data.name, function (error, result) {
callback(null, result);
});
}
");
var result = await func(new { name = "World" });
Console.WriteLine(result);
}
}
}
Hello, World!
這樣,您就可以在C#中調用TypeScript編寫的模塊了。請注意,這個示例僅適用于.NET Framework和.NET Core。如果您使用的是.NET 5或更高版本,請參閱Microsoft.JSInterop。