public void Add(string key, ParseList parseList) { if (string.IsNullOrEmpty(key)) { throw new ArgumentOutOfRangeException("key", "A valid key must be used."); } lock (cacheItems) { while ((cacheItems.Count) >= this.MaxCacheItems) { ParseListCacheItem item = null; string lastKey = null; foreach (string key2 in cacheItems.Keys) { ParseListCacheItem item2 = cacheItems[key2] as ParseListCacheItem; if ((item == null) || (item2 != null && item2.LastAccessed < item.LastAccessed)) { item = item2; lastKey = key2; } } if (lastKey != null) { cacheItems.Remove(lastKey); } } ParseListCacheItem item3 = new ParseListCacheItem { Item = parseList, LastAccessed = DateTime.Now.Ticks }; cacheItems.Add(key.ToLower(), item3); } }
public void Add(string key, ParseList parseList) { if (string.IsNullOrEmpty(key)) throw new ArgumentOutOfRangeException("key", "A valid key must be used."); lock (cacheItems) { while ((cacheItems.Count) >= this.MaxCacheItems) { ParseListCacheItem item = null; string lastKey = null; foreach (string key2 in cacheItems.Keys) { ParseListCacheItem item2 = cacheItems[key2] as ParseListCacheItem; if ((item == null) || (item2 != null && item2.LastAccessed < item.LastAccessed)) { item = item2; lastKey = key2; } } if (lastKey != null) { cacheItems.Remove(lastKey); } } ParseListCacheItem item3 = new ParseListCacheItem {Item = parseList, LastAccessed = DateTime.Now.Ticks}; cacheItems.Add(key.ToLower(), item3); } }