System.Xml.XmlDataDocument.OnNodeInsertedInTree C# (CSharp) Méthode

OnNodeInsertedInTree() private méthode

private OnNodeInsertedInTree ( XmlNode node ) : void
node XmlNode
Résultat void
        private void OnNodeInsertedInTree(XmlNode node)
        {
            XmlBoundElement be;
            ArrayList rowElemList = new ArrayList();
            if (_mapper.GetRegion(node, out be))
            {
                if (be == node)
                {
                    OnRowElementInsertedInTree(be, rowElemList);
                }
                else
                {
                    OnNonRowElementInsertedInTree(node, be, rowElemList);
                }
            }
            else
            {
                // We only need to sync the embedded sub-regions
                TreeIterator iter = new TreeIterator(node);
                for (bool fMore = iter.NextRowElement(); fMore; fMore = iter.NextRightRowElement())
                    rowElemList.Add(iter.CurrentNode);
            }

            // Process subregions, so they make transition from disconnected to connected tree
            while (rowElemList.Count > 0)
            {
                Debug.Assert(rowElemList[0] != null && rowElemList[0] is XmlBoundElement);
                XmlBoundElement subRowElem = (XmlBoundElement)(rowElemList[0]);
                rowElemList.RemoveAt(0);
                // Expect rowElem to have a DataTable schema, since it is a sub-region
                Debug.Assert(subRowElem != null);
                OnRowElementInsertedInTree(subRowElem, rowElemList);
            }

            // Assert that all sub-regions are assoc w/ "live" rows
            AssertLiveRows(node);
        }
        // "node" was inserting into a disconnected tree from oldParent==null state
XmlDataDocument