| File: FrameworkFork\Microsoft.Xml\Xml\Dom\XmlLinkedNode.cs | Web Access |
| Project: src\src\dotnet-svcutil\lib\src\dotnet-svcutil-lib.csproj (dotnet-svcutil-lib) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. namespace Microsoft.Xml { using System; // Gets the node immediately preceeding or following this node. public abstract class XmlLinkedNode : XmlNode { internal XmlLinkedNode next; internal XmlLinkedNode() : base() { next = null; } internal XmlLinkedNode(XmlDocument doc) : base(doc) { next = null; } // Gets the node immediately preceding this node. public override XmlNode PreviousSibling { get { XmlNode parent = ParentNode; if (parent != null) { XmlNode node = parent.FirstChild; while (node != null) { XmlNode nextSibling = node.NextSibling; if (nextSibling == this) { break; } node = nextSibling; } return node; } return null; } } // Gets the node immediately following this node. public override XmlNode NextSibling { get { XmlNode parent = ParentNode; if (parent != null) { if (next != parent.FirstChild) return next; } return null; } } } }