X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.XML%2FSystem.Xml%2FXmlLinkedNode.cs;h=090bedcf6b924e0235ad7635a195c3284cbbc1e3;hb=ec02f3a0bcc44c3d32dfbdf92b59a74ed6bc5d19;hp=1fd4d12fdb0621d69e7caadaab4c4397dba15c9d;hpb=c6fbc77fe6e1ccc017a3a6635007bc997f45e6e7;p=mono.git diff --git a/mcs/class/System.XML/System.Xml/XmlLinkedNode.cs b/mcs/class/System.XML/System.Xml/XmlLinkedNode.cs index 1fd4d12fdb0..090bedcf6b9 100644 --- a/mcs/class/System.XML/System.Xml/XmlLinkedNode.cs +++ b/mcs/class/System.XML/System.Xml/XmlLinkedNode.cs @@ -1,3 +1,13 @@ +// +// System.Xml.XmlLinkedNode +// +// Authors: +// Jason Diamond +// Kral Ferch +// +// (C) 2002 Jason Diamond, Kral Ferch +// + using System; namespace System.Xml @@ -5,16 +15,18 @@ namespace System.Xml public abstract class XmlLinkedNode : XmlNode { #region Fields + XmlLinkedNode nextSibling; #endregion #region Constructors - protected internal XmlLinkedNode(XmlDocument doc) : base(doc) { } + internal XmlLinkedNode(XmlDocument doc) : base(doc) { } #endregion - #region Properties + #region Properties + public override XmlNode NextSibling { get { @@ -33,11 +45,19 @@ namespace System.Xml set { nextSibling = value; } } - [MonoTODO] public override XmlNode PreviousSibling { get { - throw new NotImplementedException (); + if (ParentNode != null) { + XmlNode node = ParentNode.FirstChild; + if (node != this) { + do { + if (node.NextSibling == this) + return node; + } while ((node = node.NextSibling) != null); + } + } + return null; } }