using System.Diagnostics.CodeAnalysis; namespace StgSharp { internal class LinkedListNode { internal readonly T _value; internal LinkedListNode _previous; internal LinkedListNode _next; internal LinkedList list; internal LinkedListNode() { } public LinkedListNode(T t) { _value = t; } public virtual LinkedListNode Previous { get { return _previous; } set { _previous = value; } } public LinkedListNode Next { get { return _next; } set { _next = value; } } public T Value { get { return _value; } } public void Remove() { _previous.Next = _next; _next.Previous = _previous; _next = null; _previous = null; } } }