public void Start(IPage page) { while (true) { // todo: make cleaner code? INavigationPage npage = page as INavigationPage; IHasNextPage hpage = page as IHasNextPage; if (npage != null) { page = RenderNavigationPage(npage); } else if (hpage != null) { page = RenderHasNextPage(hpage); } else { break; } } }
private IPage RenderHasNextPage(IHasNextPage page) { DisplayHeader(page); page.Run(); return(page.NextPage); }