示例#1
0
        public void ForceRestore(T t)
        {
            var reset = t as IReset;

            reset?.Reset();
            AvaliableObjects.Add(t);
        }
示例#2
0
        public bool Restore(T t)
        {
            //  必须是由该池创建的对象才允许被归还到池内。
            if (t == null || !DispatchedObjects.Contains(t))
            {
                return(false);
            }

            //T 可能为 C# 核心库类型,所以对 T 不做 IReset 限制
            var reset = t as IReset;

            reset?.Reset();

            DispatchedObjects.Remove(t);
            AvaliableObjects.Add(t);
            return(true);
        }