It is not possible today, it might be possible in future :)

BTW, I would suggest to use Action<string> instead of defining your own 
delegate type.

Tomas

-----Original Message-----
From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Jonas Elfström
Sent: Monday, November 29, 2010 2:52 PM
To: ironruby-core@rubyforge.org
Subject: [Ironruby-core] Is it possible to yield C# code?

I'm sorry if this is the wrong list. Please direct me if so.

This is not really something I'm losing sleep over but still I'm a fair bit 
curious to know if it's possible to yield code that's not Ruby from IronRuby. 
Is it?

The following C# gives me a wrong number of arguments (1 for 0) exception.

delegate void del(string s);
...

var rt = Ruby.CreateRuntime();
var eng = rt.GetEngine("rb");
eng.Execute(@"
            class YieldTest
              def test
                yield 'From IronRuby'
              end
            end
            ");
object test = eng.Runtime.Globals.GetVariable("YieldTest");
dynamic t = eng.Operations.CreateInstance(test);
t.test((del)(s => Console.WriteLine(s)));

See 
http://stackoverflow.com/questions/4189955/calling-ironruby-from-c-with-a-delegate

If this is not possible, is it then a kind of integration that is planned for 
future releases of IronRuby?

--
Jonas Elfström
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to