C# 在Javascript.net中添加全局方法

C# 在Javascript.net中添加全局方法,c#,javascript.net,C#,Javascript.net,我正在从事一个使用Javascript.net(以前是Noesis Javascript.net)作为脚本引擎的项目 如何在Javascript中向全局上下文添加C方法? 例如,假设我在C中有: public int Foo(int bar) { return bar * 2; } 我希望能够调用Javascript: var x = 5; var y = Foo(x); // y is now 10; 在其他库(如Jurassic)中,这是可能的: engine.SetGloba

我正在从事一个使用Javascript.net(以前是Noesis Javascript.net)作为脚本引擎的项目

如何在Javascript中向全局上下文添加C方法? 例如,假设我在C中有:

public int Foo(int bar)
{
    return bar * 2;
}
我希望能够调用Javascript:

var x = 5;
var y = Foo(x); // y is now 10;
在其他库(如Jurassic)中,这是可能的:

 engine.SetGlobalFunction("Foo", new Func<int, int>((a) => a*2));

此示例来自单元测试:

_context.SetParameter("f", new Func<string,string>((s) => s.ToUpper()));
_context.Run("f('Noesis') == 'NOESIS'").Should().BeOfType<bool>().Which.Should().BeTrue();

在我的例子中,我想在全局对象中公开一个静态C方法。所以我使用了_context.SetParametermyfunc,新操作函数incharp;这起作用了。