Microsoft.Protocols.TestSuites.MS_OXCMAPIHTTP.ResolveNamesRequestBody.Serialize C# (CSharp) 메소드

Serialize() 공개 메소드

Serialize the instance to byte array.
public Serialize ( ) : byte[]
리턴 byte[]
        public override byte[] Serialize()
        {
            List<byte> listByte = new List<byte>();

            listByte.AddRange(BitConverter.GetBytes(this.Reserved));
            listByte.AddRange(BitConverter.GetBytes(this.HasState));
            if (this.HasState)
            {
                listByte.AddRange(this.State.Serialize());
            }

            listByte.AddRange(BitConverter.GetBytes(this.HasPropertyTags));
            if (this.HasPropertyTags)
            {
                listByte.AddRange(BitConverter.GetBytes(this.PropertyTags.PropertyTagCount));
                for (int i = 0; i < this.PropertyTags.PropertyTagCount; i++)
                {
                    listByte.AddRange(this.PropertyTags.PropertyTags[i].Serialize());
                }
            }

            listByte.AddRange(BitConverter.GetBytes(this.HasNames));

            if (this.HasNames)
            {
                listByte.AddRange(BitConverter.GetBytes(this.Names.CValues));
                for (int i = 0; i < this.Names.CValues; i++)
                {
                    StringBuilder nameStringBuilder = new StringBuilder(this.Names.LppszW[i]);
                    nameStringBuilder.Append("\0\0");
                    listByte.AddRange(
                        System.Text.Encoding.Unicode.GetBytes(nameStringBuilder.ToString()));
                }
            }

            listByte.AddRange(BitConverter.GetBytes(this.AuxiliaryBufferSize));
            listByte.AddRange(this.AuxiliaryBuffer);

            return listByte.ToArray();
        }
    }
ResolveNamesRequestBody