Thanks guys. I ended up writing a wrapper that takes an action and runs it in an async delegate and that worked fine. You can obviously get much fancier, but an example would be along the lines of this:
C# class: public class WrapInDelegate{ public delegate void DelegateWrapper(); public DelegateWrapper wrapper; public WrapInDelegate(Action a){ wrapper = delegate(){a.Invoke();}; } public IAsyncResult BeginInvoke(){ return wrapper.BeginInvoke(null, null); } public void EndInvoke(IAsyncResult result){ wrapper.EndInvoke(result); } } >From Ruby: d = WrapInDelegate.new(System::Action.new { puts "I run for no man..." }) r = d.BeginInvoke d.EndInvoke r -- Posted via http://www.ruby-forum.com/. _______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core