Exemple #1
0
 private void CreateStock()
 {
     for (int i = 0; i < _initialStock; i++)
     {
         T obj = _factory.Create();
         _stack.Add(obj);
     }
 }
        protected IPool InitPool(int initialSize, int maxSize)
        {
            if (!Kernel.HasComponent(typeof(IPoolFactory)))
            {
                Kernel.AddComponent("castle.internal.poolfactory", typeof(IPoolFactory), typeof(DefaultPoolFactory));
            }

            IPoolFactory factory = Kernel[typeof(IPoolFactory)] as IPoolFactory;

            return(factory.Create(initialSize, maxSize, ComponentActivator));
        }
        public Wrapper <T> Get()
        {
            for (int i = 0; i < Length; i++)
            {
                Wrapper <T> currObj = _wrapperArr[i];

                if (currObj == null)
                {
                    currObj        = new Wrapper <T>(_factory.Create());
                    _wrapperArr[i] = currObj;
                }

                if (!currObj.IsAvailable)
                {
                    continue;
                }

                return(currObj);
            }

            return(null);
        }