示例#1
0
        internal override void SetItem(int index, JToken item)
        {
            if (index != 0)
            {
                throw new ArgumentOutOfRangeException();
            }
            if (JContainer.IsTokenUnchanged(this.Value, item))
            {
                return;
            }
            JObject jobject = (JObject)base.Parent;

            if (jobject != null)
            {
                jobject.InternalPropertyChanging(this);
            }
            base.SetItem(0, item);
            JObject jobject2 = (JObject)base.Parent;

            if (jobject2 == null)
            {
                return;
            }
            jobject2.InternalPropertyChanged(this);
        }
        internal virtual void SetItem(int index, JToken item)
        {
            JToken jTokens;
            JToken jTokens1;

            if (index < 0)
            {
                throw new ArgumentOutOfRangeException("index", "Index is less than 0.");
            }
            if (index >= this.ChildrenTokens.Count)
            {
                throw new ArgumentOutOfRangeException("index", "Index is equal to or greater than Count.");
            }
            JToken jTokens2 = this.ChildrenTokens[index];

            if (JContainer.IsTokenUnchanged(jTokens2, item))
            {
                return;
            }
            this.CheckReentrancy();
            item = this.EnsureParentToken(item);
            this.ValidateToken(item, jTokens2);
            if (index != 0)
            {
                jTokens = this.ChildrenTokens[index - 1];
            }
            else
            {
                jTokens = null;
            }
            JToken jTokens3 = jTokens;

            if (index != this.ChildrenTokens.Count - 1)
            {
                jTokens1 = this.ChildrenTokens[index + 1];
            }
            else
            {
                jTokens1 = null;
            }
            JToken jTokens4 = jTokens1;

            item.Parent   = this;
            item.Previous = jTokens3;
            if (jTokens3 != null)
            {
                jTokens3.Next = item;
            }
            item.Next = jTokens4;
            if (jTokens4 != null)
            {
                jTokens4.Previous = item;
            }
            this.ChildrenTokens[index] = item;
            jTokens2.Parent            = null;
            jTokens2.Previous          = null;
            jTokens2.Next = null;
        }
示例#3
0
        internal virtual void SetItem(int index, JToken item)
        {
            IList <JToken> childrenTokens = this.ChildrenTokens;

            if (index < 0)
            {
                throw new ArgumentOutOfRangeException("index", "Index is less than 0.");
            }
            if (index >= childrenTokens.Count)
            {
                throw new ArgumentOutOfRangeException("index", "Index is equal to or greater than Count.");
            }
            JToken jtoken = childrenTokens[index];

            if (JContainer.IsTokenUnchanged(jtoken, item))
            {
                return;
            }
            this.CheckReentrancy();
            item = this.EnsureParentToken(item, false);
            this.ValidateToken(item, jtoken);
            JToken jtoken2 = (index == 0) ? null : childrenTokens[index - 1];
            JToken jtoken3 = (index == childrenTokens.Count - 1) ? null : childrenTokens[index + 1];

            item.Parent   = this;
            item.Previous = jtoken2;
            if (jtoken2 != null)
            {
                jtoken2.Next = item;
            }
            item.Next = jtoken3;
            if (jtoken3 != null)
            {
                jtoken3.Previous = item;
            }
            childrenTokens[index] = item;
            jtoken.Parent         = null;
            jtoken.Previous       = null;
            jtoken.Next           = null;
            if (this._listChanged != null)
            {
                this.OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, index));
            }
            if (this._collectionChanged != null)
            {
                this.OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Replace, item, jtoken, index));
            }
        }
示例#4
0
        internal virtual void SetItem(int index, JToken item)
        {
            IList <JToken> childrenTokens = this.ChildrenTokens;

            if (index < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(index), "Index is less than 0.");
            }
            if (index >= childrenTokens.Count)
            {
                throw new ArgumentOutOfRangeException(nameof(index), "Index is equal to or greater than Count.");
            }
            JToken jtoken1 = childrenTokens[index];

            if (JContainer.IsTokenUnchanged(jtoken1, item))
            {
                return;
            }
            this.CheckReentrancy();
            item = this.EnsureParentToken(item, false);
            this.ValidateToken(item, jtoken1);
            JToken jtoken2 = index == 0 ? (JToken)null : childrenTokens[index - 1];
            JToken jtoken3 = index == childrenTokens.Count - 1 ? (JToken)null : childrenTokens[index + 1];

            item.Parent   = this;
            item.Previous = jtoken2;
            if (jtoken2 != null)
            {
                jtoken2.Next = item;
            }
            item.Next = jtoken3;
            if (jtoken3 != null)
            {
                jtoken3.Previous = item;
            }
            childrenTokens[index] = item;
            jtoken1.Parent        = (JContainer)null;
            jtoken1.Previous      = (JToken)null;
            jtoken1.Next          = (JToken)null;
            if (this._listChanged == null)
            {
                return;
            }
            this.OnListChanged(new ListChangedEventArgs(ListChangedType.ItemChanged, index));
        }
示例#5
0
 internal override void SetItem(int index, JToken item)
 {
     if (index != 0)
     {
         throw new ArgumentOutOfRangeException();
     }
     if (!JContainer.IsTokenUnchanged(this.Value, item))
     {
         if (base.Parent != null)
         {
             ((JObject)base.Parent).InternalPropertyChanging(this);
         }
         base.SetItem(0, item);
         if (base.Parent != null)
         {
             ((JObject)base.Parent).InternalPropertyChanged(this);
         }
     }
 }
        internal virtual void SetItem(int index, JToken item)
        {
            if (index < 0)
            {
                throw new ArgumentOutOfRangeException("index", "Index is less than 0.");
            }
            if (index >= this.ChildrenTokens.get_Count())
            {
                throw new ArgumentOutOfRangeException("index", "Index is equal to or greater than Count.");
            }
            JToken jToken = this.ChildrenTokens.get_Item(index);

            if (JContainer.IsTokenUnchanged(jToken, item))
            {
                return;
            }
            this.CheckReentrancy();
            item = this.EnsureParentToken(item);
            this.ValidateToken(item, jToken);
            JToken jToken2 = (index != 0) ? this.ChildrenTokens.get_Item(index - 1) : null;
            JToken jToken3 = (index != this.ChildrenTokens.get_Count() - 1) ? this.ChildrenTokens.get_Item(index + 1) : null;

            item.Parent   = this;
            item.Previous = jToken2;
            if (jToken2 != null)
            {
                jToken2.Next = item;
            }
            item.Next = jToken3;
            if (jToken3 != null)
            {
                jToken3.Previous = item;
            }
            this.ChildrenTokens.set_Item(index, item);
            jToken.Parent   = null;
            jToken.Previous = null;
            jToken.Next     = null;
        }