System.Xml.XmlDocument.BeforeEvent C# (CSharp) Method

BeforeEvent() private method

private BeforeEvent ( XmlNodeChangedEventArgs args ) : void
args XmlNodeChangedEventArgs
return void
        internal override void BeforeEvent(XmlNodeChangedEventArgs args)
        {
            if (args != null)
            {
                switch (args.Action)
                {
                    case XmlNodeChangedAction.Insert:
                        if (_onNodeInsertingDelegate != null)
                            _onNodeInsertingDelegate(this, args);
                        break;

                    case XmlNodeChangedAction.Remove:
                        if (_onNodeRemovingDelegate != null)
                            _onNodeRemovingDelegate(this, args);
                        break;

                    case XmlNodeChangedAction.Change:
                        if (_onNodeChangingDelegate != null)
                            _onNodeChangingDelegate(this, args);
                        break;
                }
            }
        }

Usage Example

 internal override XmlNode AppendChildForLoad(XmlNode newChild, XmlDocument doc)
 {
     XmlNodeChangedEventArgs insertEventArgsForLoad = doc.GetInsertEventArgsForLoad(newChild, this);
     if (insertEventArgsForLoad != null)
     {
         doc.BeforeEvent(insertEventArgsForLoad);
     }
     XmlLinkedNode nextNode = (XmlLinkedNode) newChild;
     if ((this.lastChild == null) || (this.lastChild == this))
     {
         nextNode.next = nextNode;
         this.lastChild = nextNode;
         nextNode.SetParentForLoad(this);
     }
     else
     {
         XmlLinkedNode lastChild = this.lastChild;
         nextNode.next = lastChild.next;
         lastChild.next = nextNode;
         this.lastChild = nextNode;
         if (lastChild.IsText && nextNode.IsText)
         {
             XmlNode.NestTextNodes(lastChild, nextNode);
         }
         else
         {
             nextNode.SetParentForLoad(this);
         }
     }
     if (insertEventArgsForLoad != null)
     {
         doc.AfterEvent(insertEventArgsForLoad);
     }
     return nextNode;
 }
All Usage Examples Of System.Xml.XmlDocument::BeforeEvent