사전지식
본 주제는 웹브라우저의 스크립트 컨트롤에 대한 내용이 아니다. (asp.net 아님)
Node.js에서도 사용되는 자바스크립트 V8엔진의 간략한 사용법을 목적으로한다.
준비물 nuget.org
※ Native패키지는 운영체제에 맞는것을 설치하여야 한다. (아래는 윈도우64bit 용)
Install-Package Microsoft.ClearScript.V8.Native.win-x64 -Version 7.2.0
Install-Package Microsoft.ClearScript.V8 -Version 7.2.0
OR
dotnet add package Microsoft.ClearScript.V8.Native.win-x64 --version 7.2.0
dotnet add package Microsoft.ClearScript.V8 --version 7.2.0
실습
※ .net6.0 ( C#10.0 에서는 Main()을 생략한다 )
using Microsoft.ClearScript;
using Microsoft.ClearScript.V8;
using System;
V8ScriptEngine v8 = new();
#region 기본편
Console.WriteLine("1+1 : " + v8.Evaluate("1+1"));
#endregion
#region 응용편
var obj = new Test() { x = 0 };
v8.AddHostObject("obj", HostItemFlags.GlobalMembers, obj);
v8.Execute("obj.x = 3");
Console.WriteLine("obj.x : " + obj.x);
Console.WriteLine("obj * 2 : " + v8.Evaluate("obj.x * 2"));
public class Test { public int x { get; init; } }
#endregion
참조
https://dev.to/jochemstoel/v8ception--how-to-implement-v8-into-your-net-applications-2n2i
'C# > 예제 코드' 카테고리의 다른 글
c# DataTable 데이터 이쁘게 출력하기 (콘솔) (0) | 2022.01.02 |
---|---|
c# 콘솔 폰트 확인 및 폰트(글꼴,크기) 변경 (0) | 2022.01.01 |
c# 전각 or 반각 문자 전부 찾기 (콘솔) (0) | 2021.12.31 |
c# DataTable 컬럼정보 이쁘게 출력하기 (콘솔) (0) | 2021.12.30 |
c# 의 Eval (동적 컴파일) (0) | 2021.12.15 |