public void AddRecentItem(RecentItem item) { if (recentItems == null) { throw new InvalidOperationException(); } var existed = recentItems.Where(r => r.Path.Equals(item.Path)).FirstOrDefault(); if (existed != null) { lock (_lock) recentItems.Move(recentItems.IndexOf(existed), 0); return; } if (recentItems.Count >= MAX) { lock (_lock) recentItems.RemoveAt(recentItems.Count - 1); } lock (_lock) recentItems.Insert(0, item); }
public void RemoveRecentItem(RecentItem item) { lock (_lock) recentItems.Remove(item); }