Microsoft.Protocols.TestSuites.MS_OXCFXICS.MessageChildren.Deserialize C# (CSharp) Method

Deserialize() public method

Deserialize fields from a FastTransferStream.
public Deserialize ( FastTransferStream stream ) : void
stream FastTransferStream A FastTransferStream.
return void
        public override void Deserialize(FastTransferStream stream)
        {
            this.fxdelPropsAll = new List<uint>();
            this.fxdelPropsBeforeRecipient = new List<uint>();
            this.fxdelPropsBeforeAttachment = new List<uint>();
            this.attachments = new List<Attachment>();
            this.recipients = new List<Recipient>();
            while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp))
            {
                stream.ReadMarker();
                this.fxdelPropsBeforeRecipient.Add(stream.ReadUInt32());
            }

            if (Recipient.Verify(stream))
            {
                this.recipients = new List<Recipient>();
                while (Recipient.Verify(stream))
                {
                    this.recipients.Add(new Recipient(stream));
                }
            }

            while (stream.VerifyMetaProperty(MetaProperties.PidTagFXDelProp))
            {
                stream.ReadMarker();
                this.fxdelPropsBeforeAttachment.Add(stream.ReadUInt32());
            }

            while (Attachment.Verify(stream))
            {
                this.attachments.Add(new Attachment(stream));
            }

            for (int i = 0; i < this.fxdelPropsBeforeRecipient.Count; i++)
            {
                this.fxdelPropsAll.Add(this.fxdelPropsBeforeRecipient[i]);
            }

            for (int i = 0; i < this.fxdelPropsBeforeAttachment.Count; i++)
            {
                this.fxdelPropsAll.Add(this.fxdelPropsBeforeAttachment[i]);
            }
        }
    }