IronRuby.Builtins.RubyIOOps.TryInvokeOpenBlock C# (CSharp) Method

TryInvokeOpenBlock() static private method

static private TryInvokeOpenBlock ( RubyContext context, BlockParam block, IDisposable io ) : object
context RubyContext
block IronRuby.Runtime.BlockParam
io IDisposable
return object
        internal static object TryInvokeOpenBlock(RubyContext/*!*/ context, BlockParam/*!*/ block, IDisposable/*!*/ io) {
            if (block == null) {
                return io;
            }

            using (io) {
                object result;
                block.Yield(io, out result);
                return result;
            }
        }

Usage Example

Example #1
0
        public static object Open(BlockParam /*!*/ block, RubyClass /*!*/ self, MutableString /*!*/ path, MutableString /*!*/ mode, int permissions)
        {
            RubyIO io = RubyIOOps._CreateIOSharedSite7.Target(RubyIOOps._CreateIOSharedSite7, self.Context, self, path, mode, permissions);

            return(RubyIOOps.TryInvokeOpenBlock(self.Context, block, io));
        }
All Usage Examples Of IronRuby.Builtins.RubyIOOps::TryInvokeOpenBlock