使用委托从C#调用IronRuby

Jon*_*röm 5 c# delegates ironruby yield

是否可以使用委托作为参数从C#调用IronRuby方法,以便yield这样做?

以下给出了错误的参数数量(1表示0)异常.

Action<string> action = Console.WriteLine;
var runtime = Ruby.CreateRuntime();
var engine = runtime.GetEngine("rb");
engine.Execute(@"
                 class YieldTest
                   def test
                     yield 'From IronRuby'
                   end
                 end
                ");
object test = engine.Runtime.Globals.GetVariable("YieldTest");
dynamic t = engine.Operations.CreateInstance(test);
t.test(action);
Run Code Online (Sandbox Code Playgroud)

Jon*_*röm 1

从IronRuby 核心团队成员Tom\xc3\xa1\xc5\xa1 Matou\xc5\xa1ek在 IronRuby 核心列表上得到的答案是,这是不可能的。然而。

\n