object?DeserializeNullableItem(MapItemInfo info, bool skipHeader) { if (info.IsNullable) { EnsureReadHeader(); if (!_currentHeader.ReadBit()) { return(null); } skipHeader = true; } return(DeserializeItemNoSetup(info, skipHeader)); }
public object?DeserializeItem(MapItemInfo info, ref BitSource header) { // Do null checks if (!info.IsValueTypeItem && !header.ReadBit()) { return(null); } _currentHeader = header; _readHeader = true; return(DeserializeNullableItem(info, false)); }
public object?DeserializeItem(MapItemInfo info) { // Do null checks if (info.IsValueTypeItem) { _currentHeader = new BitSource() { Deserializer = this }; _readHeader = false; } else { _currentHeader = new BitSource(this); if (!_currentHeader.ReadBit()) { return(null); } _readHeader = true; } return(DeserializeNullableItem(info, false)); }