public Page Get(Type pageType) { PageLifeTime pageLifeTime = PageLifeTime.StayAlive; if (PageLifeTimes.ContainsKey(pageType)) { pageLifeTime = PageLifeTimes[pageType]; } /* * if page instance is not created before * create page instance */ if (pageLifeTime == PageLifeTime.StayAlive) { if (!Pages.ContainsKey(pageType)) { Pages[pageType] = CreatePage(pageType); } /* * push type to stack for history. */ PageStack.Push(pageType); // return insctance return(Pages[pageType]); } else { PageStack.Push(pageType); return(CreatePage(pageType)); } }
public void SetLifeTime(Type type, PageLifeTime pageLifeTime) { PageLifeTimes[type] = pageLifeTime; }