Exemplo n.º 1
0
        /// <summary>
        /// Create object from segment in byte array
        /// </summary>
        public Root FromBytes(byte[] bytes, ref int index)
        {
            // Read Number
            Number = GeneratorByteConverter.ToInt32(bytes, ref index);
            // Read Price
            Price = GeneratorByteConverter.ToDouble(bytes, ref index);
            // Read Description
            Description = GeneratorByteConverter.GetString(bytes, ref index);
            // Read PartialsList
            var partialslistLength = GeneratorByteConverter.ToUInt16(bytes, ref index);
            var tempPartialsList   = new List <Partial>(partialslistLength);

            for (var i = 0; i < partialslistLength; i++)
            {
                var value = new Partial().FromBytes(bytes, ref index);
                tempPartialsList.Add(value);
            }
            PartialsList = tempPartialsList;
            // Read PartialsArray
            var partialsarrayLength = GeneratorByteConverter.ToUInt16(bytes, ref index);
            var tempPartialsArray   = new Partial[partialsarrayLength];

            for (var i = 0; i < partialsarrayLength; i++)
            {
                var value = new Partial().FromBytes(bytes, ref index);
                tempPartialsArray[i] = value;
            }
            PartialsArray = tempPartialsArray;
            // Read SmallNumber
            SmallNumber = GeneratorByteConverter.ToUInt16(bytes, ref index);

            return(this);
        }
        /// <summary>
        /// Create object from segment in byte array
        /// </summary>
        public Partial FromBytes(byte[] bytes, ref int index)
        {
            // Read Id
            Id = GeneratorByteConverter.ToInt64(bytes, ref index);
            // Read Price
            Price = GeneratorByteConverter.ToSingle(bytes, ref index);
            // Read Name
            Name = GeneratorByteConverter.GetString(bytes, ref index);
            // Read DecimalNumbers
            var decimalnumbersLength = GeneratorByteConverter.ToUInt16(bytes, ref index);
            var tempDecimalNumbers   = new List <double>(decimalnumbersLength);

            for (var i = 0; i < decimalnumbersLength; i++)
            {
                var value = GeneratorByteConverter.ToDouble(bytes, ref index);
                tempDecimalNumbers.Add(value);
            }
            DecimalNumbers = tempDecimalNumbers;
            // Read SomeNumbers
            var somenumbersLength = GeneratorByteConverter.ToUInt16(bytes, ref index);
            var tempSomeNumbers   = new List <ulong>(somenumbersLength);

            for (var i = 0; i < somenumbersLength; i++)
            {
                var value = GeneratorByteConverter.ToUInt64(bytes, ref index);
                tempSomeNumbers.Add(value);
            }
            SomeNumbers = tempSomeNumbers;

            return(this);
        }