Я хочу использовать IronRuby в качестве языка сценариев (например, Lua) в моем проекте .NET. Например, я хочу иметь возможность подписываться из сценария Ruby на определенные события, запускаемые в главном приложении, и вызывать из него методы Ruby.
Я использую этот код для создания экземпляра движка 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 # метод Subscribe (определенный в хост-приложении) видимым из index.rb?
- Вызвать позже метод обработчика из ведущего приложения?