¿Es posible llamar a un método IronRuby desde C# con un delegado como parámetro de tal manera que yield
funcionaría?Llamando a IronRuby desde C# con un delegado
Lo siguiente me da un número incorrecto de argumentos (1 para 0) excepción.
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);
+1 para mostrar cómo invocar delegados C# de IronRuby. Todavía tengo curiosidad por saber si hay una forma de 'ceder' el código C# de IronRuby. –