public virtual void Recycle(CObjectsPoolEntry e) { CAssert.IsInstanceOfType <T>(e); CAssert.AreSame(this, e.pool); AddLastItem(e); }
public override void Recycle(CObjectsPoolEntry e) { lock (this) { base.Recycle(e); } }
public virtual T NextObject() { CObjectsPoolEntry first = RemoveFirstItem(); if (first == null) { first = CreateObject(); } first.pool = this; first.recycled = false; return((T)first); }