Можно ли указать, где я могу получить некоторые уроки о IronJS и как вызвать метод, написанный в IronJS, из С# 4.0
Спасибо
С# 4.0, IronJS
Можно ли указать, где я могу получить некоторые уроки о IronJS и как вызвать метод, написанный в IronJS, из С# 4.0
Спасибо
С# 4.0, IronJS
Теперь у автора есть хорошая информация о вики-проекте проекта GitHub:
https://github.com/fholm/IronJS/wiki
Здесь есть запись в блоге "Первые шаги":
http://blog.dotsmart.net/2011/04/20/first-steps-with-ironjs-0-2/
И я написал несколько сообщений в блоге на IronJS, включая тот, который связал stej. Связывание post stej действительно актуально, но оно охватывает только некоторые основные аспекты внедрения. IronJS подвергся радикальной перезаписи с первых постов, поэтому я разместил уведомления об этих сообщениях, направляя новые обновления.
В этой статье конкретно рассматривается исходный вопрос о том, как вызвать код 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 );
Оформить заказ https://github.com/fholm/IronJS/wiki для руководства по использованию IronJS
Если у вас есть Context
, вы можете вызвать Context.CompileSource()
и передать его результаты на Context.InvokeCompiled()
или просто вызвать Context.Execute()
и передать его исходный код. Примерно:
IronJS.Hosting.Context ijsCtx;
ijsCtx = IronJS.Hosting.Context.Create();
ijsCtx.Execute("(function(){return 42;})()");
Вы можете взглянуть на Внедрение IronJs. Но он выглядит устаревшим, а также ответом @Gabe.
В настоящее время его следует называть так:
var o = new IronJS.Hosting.Csharp.Context
o.Execute('var a = 10; a');