System.Xml.DataPointer.MoveTo C# (CSharp) Méthode

MoveTo() private méthode

private MoveTo ( DataPointer pointer ) : void
pointer DataPointer
Résultat void
        internal void MoveTo(DataPointer pointer)
        {
            AssertValid();

            // You should not move outside of this document
            Debug.Assert(_node == _doc || _node.OwnerDocument == _doc);

            _doc = pointer._doc;
            _node = pointer._node;
            _column = pointer._column;
            _fOnValue = pointer._fOnValue;
            AssertValid();
        }
        private void MoveTo(XmlNode node)

Same methods

DataPointer::MoveTo ( XmlNode node ) : void
DataPointer::MoveTo ( XmlNode node, DataColumn column, bool fOnValue ) : void

Usage Example

Exemple #1
0
        private XmlNode CloneTreeInternal(DataPointer other)
        {
            Debug.Assert(_ignoreDataSetEvents == true);
            Debug.Assert(_ignoreXmlEvents == true);
            Debug.Assert(IsFoliationEnabled == false);

            // Create the diconnected tree based on the other navigator
            XmlNode newNode = CloneNode(other);

            DataPointer dp = new DataPointer(other);
            try
            {
                dp.AddPointer();
                if (newNode.NodeType == XmlNodeType.Element)
                {
                    int cAttributes = dp.AttributeCount;
                    for (int i = 0; i < cAttributes; i++)
                    {
                        dp.MoveToOwnerElement();
                        if (dp.MoveToAttribute(i))
                        {
                            newNode.Attributes.Append((XmlAttribute)CloneTreeInternal(dp));
                        }
                    }

                    dp.MoveTo(other);
                }

                for (bool fMore = dp.MoveToFirstChild(); fMore; fMore = dp.MoveToNextSibling())
                    newNode.AppendChild(CloneTreeInternal(dp));
            }
            finally
            {
                dp.SetNoLongerUse();
            }

            return newNode;
        }