Пример #1
0
        public void NextProperty()
        {
            EndProperty();

            if (PropertyEnumeratorActive)
            {
                int len = JsonClassInfo.PropertyCacheArray.Length;
                if (PropertyEnumeratorIndex < len)
                {
                    if ((PropertyEnumeratorIndex == len - 1) && JsonClassInfo.DataExtensionProperty != null)
                    {
                        ExtensionDataStatus = ExtensionDataWriteStatus.Writing;
                    }

                    PropertyEnumeratorIndex++;
                    PropertyEnumeratorActive = true;
                }
                else
                {
                    PropertyEnumeratorActive = false;
                }
            }
            else
            {
                ExtensionDataStatus = ExtensionDataWriteStatus.Finished;
            }
        }
Пример #2
0
 public void EndObject()
 {
     CollectionEnumerator       = null;
     ExtensionDataStatus        = ExtensionDataWriteStatus.NotStarted;
     IsIDictionaryConstructible = false;
     JsonClassInfo            = null;
     PropertyEnumerator       = default;
     PropertyEnumeratorActive = false;
     PopStackOnEndCollection  = false;
     PopStackOnEndObject      = false;
     StartObjectWritten       = false;
     EndProperty();
 }
Пример #3
0
        public void Reset()
        {
            CurrentValue            = null;
            CollectionEnumerator    = null;
            ExtensionDataStatus     = ExtensionDataWriteStatus.NotStarted;
            JsonClassInfo           = null;
            PropertyEnumeratorIndex = 0;
            PopStackOnEndCollection = false;
            PopStackOnEndObject     = false;
            StartObjectWritten      = false;

            EndProperty();
        }
Пример #4
0
        public void NextProperty()
        {
            EndProperty();

            int maxPropertyIndex = JsonClassInfo.PropertyCacheArray.Length;

            ++PropertyEnumeratorIndex;
            if (PropertyEnumeratorIndex >= maxPropertyIndex)
            {
                if (PropertyEnumeratorIndex > maxPropertyIndex)
                {
                    ExtensionDataStatus = ExtensionDataWriteStatus.Finished;
                }
                else if (JsonClassInfo.DataExtensionProperty != null)
                {
                    ExtensionDataStatus = ExtensionDataWriteStatus.Writing;
                }
            }
        }
Пример #5
0
        public void NextProperty()
        {
            EndProperty();

            if (PropertyEnumeratorActive)
            {
                if (PropertyEnumerator.MoveNext())
                {
                    PropertyEnumeratorActive = true;
                }
                else
                {
                    PropertyEnumeratorActive = false;
                    ExtensionDataStatus      = ExtensionDataWriteStatus.Writing;
                }
            }
            else
            {
                ExtensionDataStatus = ExtensionDataWriteStatus.Finished;
            }
        }