8
我想在我的.NET項目中使用IronRuby作爲腳本語言(例如Lua)。 例如,我希望能夠從Ruby腳本訂閱特定事件,在主機應用程序中觸發,並從中調用Ruby方法。IronRuby作爲.NET中的腳本語言
我使用這個代碼實例IronRuby的引擎:
Dim engine = Ruby.CreateEngine()
Dim source = engine.CreateScriptSourceFromFile("index.rb").Compile()
' Execute it
source.Execute()
假設index.rb包含:
subscribe("ButtonClick", handler)
def handler
puts "Hello there"
end
我如何:
- 使C#方法訂閱(在主機應用程序中定義)從index.rb可見?
- 以後調用處理程序方法從主機應用程序?
非常感謝。 但仍有1個問題。如何在Ruby代碼中使用可用的Demo類(不是它的實例),以便我們能夠實例化它?例如:d = Demo.new – rubyist111 2010-05-27 18:16:13
將答案添加到上面原始答案的正文中。 – 2010-05-27 19:06:25
使用最新的IronRuby(1.13,我相信),您會爲'searchPaths'返回一個固定大小的集合,如果您嘗試添加它,則會引發異常。您需要創建自己的集合,然後複製這些值。 – ashes999 2013-09-19 15:26:33