private void OnListChanged(object sender, XmlNodeChangedEventArgs args) { XmlElementList elemList = (XmlElementList)this.elemList.Target; if (null != elemList) { elemList.ConcurrencyCheck(args); } else { this.doc.NodeInserted -= this.nodeChangeHandler; this.doc.NodeRemoved -= this.nodeChangeHandler; } }
private void OnListChanged(object sender, XmlNodeChangedEventArgs args) { lock (this) { if (this.elemList != null) { XmlElementList target = (XmlElementList)this.elemList.Target; if (target != null) { target.ConcurrencyCheck(args); } else { this.doc.NodeInserted -= this.nodeChangeHandler; this.doc.NodeRemoved -= this.nodeChangeHandler; this.elemList = null; } } } }
private void OnListChanged(object sender, XmlNodeChangedEventArgs args) { lock (this) { if (_elemList != null) { XmlElementList el = (XmlElementList)_elemList.Target; if (null != el) { el.ConcurrencyCheck(args); } else { _doc.NodeInserted -= _nodeChangeHandler; _doc.NodeRemoved -= _nodeChangeHandler; _elemList = null; } } } }