/// <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); }
/// <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); }