static void AddToCache(ParsedDocument info) { if (info == null) { throw new ArgumentNullException("info"); } lock (parsings) { if (parsings.Count >= MAX_PARSING_CACHE_SIZE) { DateTime tim = DateTime.MaxValue; string toDelete = null; foreach (KeyValuePair <string, ParsingCacheEntry> pce in parsings) { DateTime ptim = pce.Value.AccessTime; if (ptim < tim) { tim = ptim; toDelete = pce.Key; } } parsings.Remove(toDelete); } ParsingCacheEntry en = new ParsingCacheEntry(); en.ParseInformation = info; en.AccessTime = DateTime.Now; parsings [info.FileName] = en; } }
static void AddToCache (ParsedDocument info) { if (info == null) throw new ArgumentNullException ("info"); lock (parsings) { if (parsings.Count >= MAX_PARSING_CACHE_SIZE) { DateTime tim = DateTime.MaxValue; string toDelete = null; foreach (KeyValuePair<string, ParsingCacheEntry> pce in parsings) { DateTime ptim = pce.Value.AccessTime; if (ptim < tim) { tim = ptim; toDelete = pce.Key; } } parsings.Remove (toDelete); } ParsingCacheEntry en = new ParsingCacheEntry(); en.ParseInformation = info; en.AccessTime = DateTime.Now; parsings [info.FileName] = en; } }
void AddToCache(ParseInformation info, string fileName) { lock (parsings) { if (parsings.Count >= MAX_PARSING_CACHE_SIZE) { DateTime tim = DateTime.MaxValue; string toDelete = null; foreach (DictionaryEntry pce in parsings) { DateTime ptim = ((ParsingCacheEntry)pce.Value).AccessTime; if (ptim < tim) { tim = ptim; toDelete = pce.Key.ToString(); } } parsings.Remove (toDelete); } ParsingCacheEntry en = new ParsingCacheEntry(); en.ParseInformation = info; en.AccessTime = DateTime.Now; parsings [fileName] = en; } }