Microsoft.Protocols.TestSuites.SharedAdapter.RevisionManifestDataElementData.DeserializeDataElementDataFromByteArray C# (CSharp) Method

DeserializeDataElementDataFromByteArray() public method

Used to return the length of this element.
public DeserializeDataElementDataFromByteArray ( byte byteArray, int startIndex ) : int
byteArray byte A Byte list
startIndex int Start position
return int
        public override int DeserializeDataElementDataFromByteArray(byte[] byteArray, int startIndex)
        {
            int index = startIndex;
            this.RevisionManifest = StreamObject.GetCurrent<RevisionManifest>(byteArray, ref index);

            this.RevisionManifestRootDeclareList = new List<RevisionManifestRootDeclare>();
            this.RevisionManifestObjectGroupReferencesList = new List<RevisionManifestObjectGroupReferences>();
            StreamObjectHeaderStart header;
            int headerLength = 0;
            while ((headerLength = StreamObjectHeaderStart.TryParse(byteArray, index, out header)) != 0)
            {
                if (header.Type == StreamObjectTypeHeaderStart.RevisionManifestRootDeclare)
                {
                    index += headerLength;
                    this.RevisionManifestRootDeclareList.Add(StreamObject.ParseStreamObject(header, byteArray, ref index) as RevisionManifestRootDeclare);
                }
                else if (header.Type == StreamObjectTypeHeaderStart.RevisionManifestObjectGroupReferences)
                {
                    index += headerLength;
                    this.RevisionManifestObjectGroupReferencesList.Add(StreamObject.ParseStreamObject(header, byteArray, ref index) as RevisionManifestObjectGroupReferences);
                }
                else
                {
                    throw new DataElementParseErrorException(index, "Failed to parse RevisionManifestDataElement, expect the inner object type RevisionManifestRootDeclare or RevisionManifestObjectGroupReferences, but actual type value is " + header.Type, null);
                }
            }

            return index - startIndex;
        }