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));
}