internal virtual void UseField(QField a_field) { Read(); if (_bytes == null) { _fieldMetadata = null; return; } ReadClassMetadata(); _member = null; if (a_field == null) { _fieldMetadata = null; return; } if (_classMetadata == null) { _fieldMetadata = null; return; } _fieldMetadata = FieldMetadataFrom(a_field, _classMetadata); if (_fieldMetadata == null) { FieldNotFound(); return; } HandlerVersion handlerVersion = _classMetadata.SeekToField(Transaction(), _bytes, _fieldMetadata); if (handlerVersion == HandlerVersion.Invalid) { FieldNotFound(); return; } _handlerVersion = handlerVersion._number; }
private object ReadFieldValue(int id, FieldMetadata field) { ByteArrayBuffer buffer = BufferFor(id); HandlerVersion handlerVersion = field.ContainingClass().SeekToField(_transaction, buffer, field); if (handlerVersion == HandlerVersion.Invalid) { return(null); } QueryingReadContext context = new QueryingReadContext(_transaction, handlerVersion ._number, buffer, id); return(field.Read(context)); }