private EmployeeOP GetNewEmployee() { // Creates a new employee EmployeeOP oEmp = new EmployeeOP(); objPool.Enqueue(oEmp); return(oEmp); }
protected EmployeeOP RetrieveFromPool() { EmployeeOP oEmp; // if there is any objects in my collection if (objPool.Count > 0) { oEmp = (EmployeeOP)objPool.Dequeue(); EmployeeOP.Counter--; } else { // return a new object oEmp = new EmployeeOP(); } return(oEmp); }
static void MainOP(string[] args) { Factory fa = new Factory(); EmployeeOP myEmp = fa.GetEmployee(); Console.WriteLine("First object"); EmployeeOP myEmp1 = fa.GetEmployee(); Console.WriteLine("Second object"); EmployeeOP myEmp3 = fa.GetEmployee(); Console.WriteLine("Existing object"); Console.ReadKey(); }