예제 #1
0
        public static void Main()
        {
            Estante PedirZapato = new Estante();
            Zapato  myZapato    = PedirZapato.GetZapato(35);

            myZapato = PedirZapato.GetZapato(35);

            Console.ReadKey();
        }
예제 #2
0
        private Zapato GetNewZapato(int ass)
        {
            // Creates a new employee
            Zapato oEmp = new Zapato();

            oEmp.Talla = ass;
            objPool.Enqueue(oEmp.Talla);
            return(oEmp);
        }
예제 #3
0
        public Zapato GetZapato(int addZapato)
        {
            Zapato oZapato = new Zapato();

            // check from the collection pool. If exists return object else create new
            if (Zapato.Counter >= _PoolMaxSize && objPool.Count > 0 && oZapato.Talla == addZapato)
            {
                // Retrieve from pool
                oZapato = RetrieveFromPool(addZapato);
            }
            else
            {
                oZapato = GetNewZapato(addZapato);
            }
            return(oZapato);
        }
예제 #4
0
        protected Zapato RetrieveFromPool(int aff)
        {
            Zapato oEmp = new Zapato();

            // if there is any objects in my collection
            if (objPool.Count > 0)
            {
                foreach (int number in objPool)
                {
                    if (number == aff)
                    {
                        Console.WriteLine(number);
                        Zapato.Counter--;
                    }
                }
            }
            else
            {
                // return a new object
                oEmp = new Zapato();
            }
            return(oEmp);
        }