IronRuby.Builtins.RubyIO.Seek C# (CSharp) Method

Seek() public method

public Seek ( long offset, SeekOrigin origin ) : void
offset long
origin SeekOrigin
return void
        public void Seek(long offset, SeekOrigin origin) {
            var stream = GetStream();
            try {
                stream.Seek(offset, origin);
            } catch (IOException) {
                throw RubyExceptions.CreateEINVAL();
            } catch (ObjectDisposedException) {
                throw RubyExceptions.CreateEBADF();
            }
        }

Usage Example

Beispiel #1
0
        private static void Seek(RubyIO /*!*/ self, long pos, int seekOrigin)
        {
            if (seekOrigin < 0 || seekOrigin > 2)
            {
                throw RubyExceptions.CreateArgumentError("Invalid argument");
            }

            if (self.IsConsoleDescriptor())
            {
                throw new Errno.BadFileDescriptorError();
            }

            // TODO: make sure we assert stream is not actually closed
            if (self.Closed)
            {
                throw RubyExceptions.CreateArgumentError("trying to seek on a non-existent stream?");
            }

            SeekOrigin origin = SeekOrigin.Current;

            if (seekOrigin == SEEK_SET)
            {
                origin = SeekOrigin.Begin;
            }
            else if (seekOrigin == SEEK_END)
            {
                origin = SeekOrigin.End;
            }

            self.Seek(pos, origin);
        }
All Usage Examples Of IronRuby.Builtins.RubyIO::Seek