有没有免费的C#组件类可以为C#代码从文件中加载IronRuby代码提供方法



我在这里了解到stackoverflow,您可以轻松实现Win表单的c#和web浏览器控件中加载的javascript之间的双向访问。那么让我问一下,您是否可以使用任何免费的C#组件在C#和IronRuby之间进行类似的双向访问?尽管我在.net平台上搜索了如何在这两种语言之间进行双向访问,但它们中的任何一种都没有像我之前描述的那样简单。

IronRuby库可以让您做到这一点。只需引用IronRuby.dll和IronRuby.Libraries.dll程序集,添加using IronRuby;,就可以执行以下操作:

var engine = Ruby.CreateEngine();
var scope = engine.ExecuteFile(fileName);

然后,您可以在scope中查询某些变量,或者获取所有变量的列表。

@svick是对的,但我只想用一个例子来详细说明数据从C#流到IronRuby,然后再流回来。

var engine = Ruby.CreateEngine();
engine.ExecuteFile("../../test.rb");
dynamic ruby = engine.Runtime.Globals;
dynamic hello = ruby.Hello.@new("Hello from Ruby!");
hello.set_text(textBox1);

和test.rb 中的Ruby代码

class Hello
  def initialize text
    @text = text
  end
  def set_text text_box
    text_box.Text = @text
  end
end

PS。从安装IronRuby之后http://ironruby.net/download/由于某种原因,我只能在C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL中找到IronRuby.dll、IronRuby.Libraries.dll和Microsoft.Scripting.dll\DS-

相关内容

  • 没有找到相关文章

最新更新