禁止在JavaScript中更改传递的对象

时间:2019-05-24 08:39:32

标签: jint

我正在执行自定义JS函数,并将c#对象作为该函数的参数传递。不幸的是,有可能在JS内部创建副作用。 someArg.Value = 42;也将更改c#对象的值。如何告诉jint限制传递的对象的作用域?该脚本应该只返回一个布尔值,并且不能对原始对象进行任何更改。

我尝试了一些引擎选项,但是找不到有关此主题的任何详细文档。这是我当前调用脚本的方式:

var result = new Engine()
    .Execute(function)                    
    .Invoke("predicate", extendedReport, reportQuestion, question, answerArray, answerIndex)
    .AsBoolean();

0 个答案:

没有答案