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

Reply via email to