BTDB.ODBLayer.DBReaderCtx.ReadObject C# (CSharp) Method

ReadObject() public method

public ReadObject ( object &@object ) : bool
@object object
return bool
        public bool ReadObject(out object @object)
        {
            var id = _reader.ReadVInt64();
            if (id == 0)
            {
                @object = null;
                return false;
            }
            if (id <= int.MinValue || id > 0)
            {
                @object = _transaction.Get((ulong)id);
                return false;
            }
            var ido = (int)(-id) - 1;
            var o = RetriveObj(ido);
            if (o != null)
            {
                var mp = o as IMemorizedPosition;
                if (mp == null)
                {
                    @object = o;
                    return false;
                }
                PushReturningPosition(((ICanMemorizePosition)_reader).MemorizeCurrentPosition());
                mp.Restore();
            }
            else
            {
                PushReturningPosition(null);
            }
            _lastIdOfObj = ido;
            @object = null;
            return true;
        }