/// summary /// 动态计算表达式 /// /summary class JSCaller{ /// summary /// 动态计算表达式 /// /summary function Eval(expression: String) { return eval(expression, " unsafe " ); }} 1、将上面代码保存为 d:\JSCaller.js 2、
/// <summary> /// 动态计算表达式 /// </summary> class JSCaller { /// <summary> /// 动态计算表达式 /// </summary> function Eval(expression: String) { return eval(expression, "unsafe"); } }
1、将上面代码保存为 d:\JSCaller.js
2、在运行中执行命令:jsc /t:library d:\JSCaller .js
3、生成JSCaller.dll文件,项目中引用:JSCaller.dll
4、C#中使用
string expression = "(12345 + 321) * 50"; int result = Convert.ToInt32(new JSCaller().Eval(expression)); Console.WriteLine($"计算结果为:{result}");
jsc用法说明:https://docs.microsoft.com/zh-cn/previous-versions/cc435270(v=vs.71)