Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public UInt32 Deserialize(byte[] bytes, UInt32 offset, UInt32 offsetLimit)
 {
     instance = serializer.FixedLengthDeserialize(bytes, offset);
     return(offset + serializer.fixedSerializationLength);
 }