public override IReadOnlyList <T> Deserialize(ref byte[] bytes, int offset, DirtyTracker tracker, out int byteSize) { var length = formatter.GetLength(); if (length != null) { return(FixedListSegment <TTypeResolver, T> .Create(tracker, bytes, offset, out byteSize)); } else { return(VariableListSegment <TTypeResolver, T> .Create(tracker, bytes, offset, out byteSize)); } }
FixedListSegment <DefaultResolver, int> CreateFixedList(DirtyTracker tracker) { byte[] bytes = null; BinaryUtil.WriteInt32(ref bytes, 0, 6); // length 4... BinaryUtil.WriteInt32(ref bytes, 4 * 1, 99); BinaryUtil.WriteInt32(ref bytes, 4 * 2, 55); BinaryUtil.WriteInt32(ref bytes, 4 * 3, 3); BinaryUtil.WriteInt32(ref bytes, 4 * 4, 9423423); BinaryUtil.WriteInt32(ref bytes, 4 * 5, -432423); BinaryUtil.WriteInt32(ref bytes, 4 * 6, 2423); int _; var list = FixedListSegment <DefaultResolver, int> .Create(tracker, bytes, 0, out _); return(list); }