MongoDB.Bson.IO.BsonBinaryReaderContext.PopContext C# (CSharp) Метод

PopContext() публичный Метод

public PopContext ( int position ) : BsonBinaryReaderContext
position int
Результат BsonBinaryReaderContext
        public BsonBinaryReaderContext PopContext(int position)
        {
            int actualSize = position - _startPosition;
            if (actualSize != _size)
            {
                var message = string.Format("Expected size to be {0}, not {1}.", _size, actualSize);
                throw new Exception(message);
            }
            return _parentContext;
        }
    }

Usage Example

Пример #1
0
        /// <summary>
        /// Reads the end of a BSON array from the reader.
        /// </summary>
        public override void ReadEndArray()
        {
            if (Disposed)
            {
                ThrowObjectDisposedException();
            }
            if (_context.ContextType != ContextType.Array)
            {
                ThrowInvalidContextType("ReadEndArray", _context.ContextType, ContextType.Array);
            }
            if (State == BsonReaderState.Type)
            {
                ReadBsonType(); // will set state to EndOfArray if at end of array
            }
            if (State != BsonReaderState.EndOfArray)
            {
                ThrowInvalidState("ReadEndArray", BsonReaderState.EndOfArray);
            }

            _context = _context.PopContext(_bsonStream.Position);
            switch (_context.ContextType)
            {
            case ContextType.Array: State = BsonReaderState.Type; break;

            case ContextType.Document: State = BsonReaderState.Type; break;

            case ContextType.TopLevel: State = BsonReaderState.Initial; break;

            default: throw new BsonInternalException("Unexpected ContextType.");
            }
        }
All Usage Examples Of MongoDB.Bson.IO.BsonBinaryReaderContext::PopContext