请问在哪里可以找到关于IronJS的教程以及如何从C# 4.0中调用IronJS编写的方法?
谢谢
C# 4.0,IronJS
请问在哪里可以找到关于IronJS的教程以及如何从C# 4.0中调用IronJS编写的方法?
谢谢
C# 4.0,IronJS
GitHub项目wiki上现在有一些作者提供的好信息:
https://github.com/fholm/IronJS/wiki
这里有一篇“第一步”博客文章:
http://blog.dotsmart.net/2011/04/20/first-steps-with-ironjs-0-2/
我写了几篇关于IronJS的博客文章,其中包括stej链接的一篇。stej链接的文章实际上是当前的版本,但它只涵盖了嵌入的一些基本概念。自从我的第一篇文章以来,IronJS已经经历了彻底的重写,因此我在那些文章中放置了指向更新版本的通知。
这篇文章特别介绍了原帖作者如何从C#调用JS代码的问题:
http://newcome.wordpress.com/2011/03/13/embedding-ironjs-part-ii/
以下是一个简要概述:
IronJS.Hosting.Context ctx = IronJS.Hosting.Context.Create();
ctx.Execute("hello = function() { return 'hello from IronJS' }");
IronJS.Box obj = ctx.GetGlobal("hello");
Func<IronJS.Function,IronJS.Object,IronJS.Box> fun =
obj.Func.Compiler.compileAs<Func<IronJS.Function,IronJS.Object,IronJS.Box>>(obj.Func);
IronJS.Box res = fun.Invoke(obj.Func, obj.Func.Env.Globals);
Console.WriteLine( res.String );
Context
,您可以调用Context.CompileSource()
并将其结果传递给Context.InvokeCompiled()
,或者只需调用Context.Execute()
并将源代码传递给它。大致上是这样的:IronJS.Hosting.Context ijsCtx;
ijsCtx = IronJS.Hosting.Context.Create();
ijsCtx.Execute("(function(){return 42;})()");
目前应该这样调用:
var o = new IronJS.Hosting.Csharp.Context
o.Execute('var a = 10; a');