示例#1
0
        public TType TryReuse <TType>() where TType : IRecyclable
        {
            Type  typeFromHandle = typeof(TType);
            TType result         = default(TType);
            Stack <IRecyclable> stack;

            if (this.m_ReusableStacks.TryGetValue(typeFromHandle, out stack))
            {
                if (stack.Count > 0)
                {
                    result           = (TType)((object)stack.Pop());
                    result.isTrashed = false;
                    result.OnReuse();
                }
            }
            return(result);
        }