public T Remove(PoolLinkedListElement <T> element) { var value = element.Value; if (element.Previous != null) { element.Previous.Next = element.Next; } if (element.Next != null) { element.Next.Previous = element.Previous; } if (First == element) { First = element.Next; } if (Last == element) { Last = element.Previous; } RecycleElement(element); Count -= 1; return(value); }
private void RecycleElement(PoolLinkedListElement <T> element) { ObjectPool <PoolLinkedListElement <T> > .Recycle(element); }