public override UInt32 Deserialize(object instance, byte[] array, UInt32 offset, UInt32 offsetLimit) { UInt32 length = array.BigEndianReadUInt32Subtype(offset, arraySizeByteCount); offset += arraySizeByteCount; if (length <= 0) { fieldInfo.SetValue(instance, null); } else { ElementType[] values = new ElementType[length]; for (int i = 0; i < values.Length; i++) { values[i] = elementSerializer.FixedLengthDeserialize(array, offset); offset += fixedElementSerializationLength; } } return(offset); }
public UInt32 Deserialize(byte[] bytes, UInt32 offset, UInt32 offsetLimit) { instance = serializer.FixedLengthDeserialize(bytes, offset); return(offset + serializer.fixedSerializationLength); }