private void Callback(object state) { var result = DebuggerService.TryGetElementUnderCursor(); if (!result.HasValue) { return; } var value = result.Value; var selectedItem = SelectionManager.GetSelectedItem(); if (selectedItem == null || selectedItem.Id.Equals(value)) { return; } selectedItem = ElementCache.Get(value); if (selectedItem == null) { return; } SelectionManager.Replace(selectedItem); }
public ISingleArrayCache <TElement> GetArrayCacheWithoutKey(Func <IObservable <TElement> > arrayRetriever) { return(new SingleArrayCache <TElement, TId>(arrayRetriever, _idExtractor, e => _elementCache.Set(_idExtractor(e), e), e => _elementCache.Get(e)) { MaxAge = () => _arrayMaxAge ?? TimeSpan.FromMinutes(1) }); }