Exemplo n.º 1
0
        public override UInt32 Serialize(object instance, byte[] array, UInt32 offset)
        {
            Object valueAsObject = fieldInfo.GetValue(instance);

            if (valueAsObject == null)
            {
                array.BigEndianSetUInt32Subtype(offset, 0, arraySizeByteCount);
                return(offset + arraySizeByteCount);
            }

            ElementType[] valueAsArray = (ElementType[])valueAsObject;

            array.BigEndianSetUInt32Subtype(offset, (UInt32)valueAsArray.Length, arraySizeByteCount);
            offset += arraySizeByteCount;

            for (int i = 0; i < valueAsArray.Length; i++)
            {
                elementSerializer.Serialize(array, offset, valueAsArray[i]);
                offset += fixedElementSerializationLength;
            }

            return(offset);
        }
Exemplo n.º 2
0
 public UInt32 Serialize(Object instance, Byte[] array, UInt32 offset)
 {
     return(serializer.Serialize(array, offset, (T)instance));
 }