/// <summary>
        /// Convert object to bytes within object tree
        /// </summary>
        public byte[] ToBytes(byte[] bytes, ref int index)
        {
            if (index + Size > bytes.Length)
            {
                throw new ArgumentOutOfRangeException("index", "Object does not fit in array");
            }

            // Convert Index
            GeneratorByteConverter.Include(Index, bytes, ref index);
            // Convert Value
            GeneratorByteConverter.Include(Value, bytes, ref index);
            return(bytes);
        }
예제 #2
0
        /// <summary>
        /// Convert object to bytes within object tree
        /// </summary>
        public byte[] ToBytes(byte[] bytes, ref int index)
        {
            if (index + Size > bytes.Length)
            {
                throw new ArgumentOutOfRangeException("index", "Object does not fit in array");
            }

            // Convert Number
            GeneratorByteConverter.Include(Number, bytes, ref index);
            // Convert Price
            GeneratorByteConverter.Include(Price, bytes, ref index);
            // Convert Description
            GeneratorByteConverter.Include(Description, bytes, ref index);
            // Convert PartialsList
            // Two bytes length information for each dimension
            GeneratorByteConverter.Include((ushort)(PartialsList == null ? 0 : PartialsList.Count), bytes, ref index);
            if (PartialsList != null)
            {
                for (var i = 0; i < PartialsList.Count; i++)
                {
                    var value = PartialsList[i];
                    value.ToBytes(bytes, ref index);
                }
            }
            // Convert PartialsArray
            // Two bytes length information for each dimension
            GeneratorByteConverter.Include((ushort)(PartialsArray == null ? 0 : PartialsArray.Length), bytes, ref index);
            if (PartialsArray != null)
            {
                for (var i = 0; i < PartialsArray.Length; i++)
                {
                    var value = PartialsArray[i];
                    value.ToBytes(bytes, ref index);
                }
            }
            // Convert SmallNumber
            GeneratorByteConverter.Include(SmallNumber, bytes, ref index);
            return(bytes);
        }
        /// <summary>
        /// Convert object to bytes within object tree
        /// </summary>
        public byte[] ToBytes(byte[] bytes, ref int index)
        {
            if (index + Size > bytes.Length)
            {
                throw new ArgumentOutOfRangeException("index", "Object does not fit in array");
            }

            // Convert Id
            GeneratorByteConverter.Include(Id, bytes, ref index);
            // Convert Price
            GeneratorByteConverter.Include(Price, bytes, ref index);
            // Convert Name
            GeneratorByteConverter.Include(Name, bytes, ref index);
            // Convert DecimalNumbers
            // Two bytes length information for each dimension
            GeneratorByteConverter.Include((ushort)(DecimalNumbers == null ? 0 : DecimalNumbers.Count), bytes, ref index);
            if (DecimalNumbers != null)
            {
                for (var i = 0; i < DecimalNumbers.Count; i++)
                {
                    var value = DecimalNumbers[i];
                    GeneratorByteConverter.Include(value, bytes, ref index);
                }
            }
            // Convert SomeNumbers
            // Two bytes length information for each dimension
            GeneratorByteConverter.Include((ushort)(SomeNumbers == null ? 0 : SomeNumbers.Count()), bytes, ref index);
            if (SomeNumbers != null)
            {
                foreach (var value in SomeNumbers)
                {
                    GeneratorByteConverter.Include(value, bytes, ref index);
                }
            }
            return(bytes);
        }