/// <summary> /// Deserialize next object from a FastTransferStream. /// </summary> /// <param name="stream">A FastTransferStream</param> public override void ConsumeNext(FastTransferStream stream) { base.ConsumeNext(stream); PropertyDataType type = (PropertyDataType)this.PropType; this.length = stream.ReadInt16(); switch (type) { case PropertyDataType.PtypMultipleInteger16: this.fixedSizeValueList = stream.ReadBlocks(this.length, 2); break; case PropertyDataType.PtypMultipleInteger32: this.fixedSizeValueList = stream.ReadBlocks(this.length, 4); break; case PropertyDataType.PtypMultipleFloating32: this.fixedSizeValueList = stream.ReadBlocks(this.length, 4); break; case PropertyDataType.PtypMultipleFloating64: this.fixedSizeValueList = stream.ReadBlocks(this.length, 8); break; case PropertyDataType.PtypMultipleCurrency: this.fixedSizeValueList = stream.ReadBlocks(this.length, 8); break; case PropertyDataType.PtypMultipleFloatingTime: this.fixedSizeValueList = stream.ReadBlocks(this.length, 8); break; case PropertyDataType.PtypMultipleInteger64: this.fixedSizeValueList = stream.ReadBlocks(this.length, 8); break; case PropertyDataType.PtypMultipleTime: this.fixedSizeValueList = stream.ReadBlocks(this.length, 8); break; case PropertyDataType.PtypMultipleGuid: this.fixedSizeValueList = stream.ReadBlocks(this.length, Guid.Empty.ToByteArray().Length); break; case PropertyDataType.PtypMultipleBinary: this.varSizeValueList = stream.ReadLengthBlocks(this.length); break; case PropertyDataType.PtypMultipleString: this.varSizeValueList = stream.ReadLengthBlocks(this.length); break; case PropertyDataType.PtypMultipleString8: this.varSizeValueList = stream.ReadLengthBlocks(this.length); break; } }