protected virtual bool Equals(ScreenRepositoryCacheKey screenRepositoryCacheKey) { if (screenRepositoryCacheKey == null) { return(false); } return(Equals(title, screenRepositoryCacheKey.title) && Equals(screenType, screenRepositoryCacheKey.screenType)); }
T Get <T>(string cacheKey, Func <Window> window) where T : AppScreen { ClearClosedScreens(); AppScreen screen; var repositoryCacheKey = new ScreenRepositoryCacheKey(cacheKey, typeof(T)); if (!screenCache.TryGetValue(repositoryCacheKey, out screen)) { screen = GetScreen <T>(window()); screenCache.Add(repositoryCacheKey, screen); } if (screen != null) { sessionReport.Next(typeof(T)); } return((T)screen); }
protected virtual bool Equals(ScreenRepositoryCacheKey screenRepositoryCacheKey) { if (screenRepositoryCacheKey == null) return false; return Equals(title, screenRepositoryCacheKey.title) && Equals(screenType, screenRepositoryCacheKey.screenType); }