public int GetJsonMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, int memberIndex, ExtensionDataObject extensionData)
        {
            int length = memberNames.Length;

            if (length != 0)
            {
                for (int i = 0, index = (memberIndex + 1) % length; i < length; i++, index = (index + 1) % length)
                {
                    if (xmlReader.IsStartElement(memberNames[index], XmlDictionaryString.Empty))
                    {
                        return(index);
                    }
                }
                string name;
                if (TryGetJsonLocalName(xmlReader, out name))
                {
                    for (int i = 0, index = (memberIndex + 1) % length; i < length; i++, index = (index + 1) % length)
                    {
                        if (memberNames[index].Value == name)
                        {
                            return(index);
                        }
                    }
                }
            }
            HandleMemberNotFound(xmlReader, extensionData, memberIndex);
            return(length);
        }
        public int GetJsonMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, int memberIndex, ExtensionDataObject extensionData)
        {
            int length = memberNames.Length;

            if (length != 0)
            {
                string str;
                int    num2 = 0;
                for (int i = (memberIndex + 1) % length; num2 < length; i = (i + 1) % length)
                {
                    if (xmlReader.IsStartElement(memberNames[i], XmlDictionaryString.Empty))
                    {
                        return(i);
                    }
                    num2++;
                }
                if (TryGetJsonLocalName(xmlReader, out str))
                {
                    int num4 = 0;
                    for (int j = (memberIndex + 1) % length; num4 < length; j = (j + 1) % length)
                    {
                        if (memberNames[j].Value == str)
                        {
                            return(j);
                        }
                        num4++;
                    }
                }
            }
            base.HandleMemberNotFound(xmlReader, extensionData, memberIndex);
            return(length);
        }
 internal static bool TryGetJsonLocalName(XmlReaderDelegator xmlReader, out string name)
 {
     if (xmlReader.IsStartElement(JsonGlobals.itemDictionaryString, JsonGlobals.itemDictionaryString) && xmlReader.MoveToAttribute("item"))
     {
         name = xmlReader.Value;
         return(true);
     }
     name = null;
     return(false);
 }
 internal static bool TryGetJsonLocalName(XmlReaderDelegator xmlReader, out string name)
 {
     if (xmlReader.IsStartElement(JsonGlobals.itemDictionaryString, JsonGlobals.itemDictionaryString))
     {
         if (xmlReader.MoveToAttribute(JsonGlobals.itemString))
         {
             name = xmlReader.Value;
             return true;
         }
     }
     name = null;
     return false;
 }
 public int GetJsonMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, int memberIndex, ExtensionDataObject extensionData)
 {
     int length = memberNames.Length;
     if (length != 0)
     {
         for (int i = 0, index = (memberIndex + 1) % length; i < length; i++, index = (index + 1) % length)
         {
             if (xmlReader.IsStartElement(memberNames[index], XmlDictionaryString.Empty))
             {
                 return index;
             }
         }
         string name;
         if (TryGetJsonLocalName(xmlReader, out name))
         {
             for (int i = 0, index = (memberIndex + 1) % length; i < length; i++, index = (index + 1) % length)
             {
                 if (memberNames[index].Value == name)
                 {
                     return index;
                 }
             }
         }
     }
     HandleMemberNotFound(xmlReader, extensionData, memberIndex);
     return length;
 }
 bool IsStartElement(XmlDictionaryString name, XmlDictionaryString ns)
 {
     return(xmlReader.IsStartElement(name, ns));
 }