DoubleLink.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Util / DoubleLink.cs / 1 / DoubleLink.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/* 
 * DoubleLink 
 *
 * Copyright (c) 1998-1999, Microsoft Corporation 
 *
 */

namespace System.Web.Util { 
    using System.Runtime.Serialization.Formatters;
 
    internal class DoubleLink { 
        internal DoubleLink    _next, _prev;
        internal Object           Item; 

        internal DoubleLink() {
            _next = _prev = this;
        } 
        internal DoubleLink(Object item)  : this() {
            this.Item = item; 
        } 
        internal DoubleLink Next {get {return _next;}}
 
#if UNUSED_CODE
        internal DoubleLink Prev {get {return _prev;}}
#endif
 
        internal void InsertAfter(DoubleLink after) {
            this._prev = after; 
            this._next = after._next; 
            after._next = this;
            this._next._prev = this; 
        }

        internal void InsertBefore(DoubleLink before) {
            this._prev = before._prev; 
            this._next = before;
            before._prev = this; 
            this._prev._next = this; 
        }
 
        internal void Remove() {
            this._prev._next = this._next;
            this._next._prev = this._prev;
            _next = _prev = this; 
        }
 
#if DBG 
        internal virtual void DebugValidate() {
            Debug.CheckValid(this._next != this || this._prev == this, "Invalid link"); 
        }

        internal virtual string DebugDescription(string indent) {
            string desc; 

            desc = indent + "_next=" + _next + ", _prev=" + _prev + "\nItem="; 
            desc += Debug.GetDescription(Item, indent + "    "); 

            return desc; 
        }
#endif
    }
 
}
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK