protected override void ClearCore(bool disposing) { _lock.EnterWriteLock(); try { var node = _lruList.First; while (node != null) { if (node.Key.TryGetTarget(out T key)) { _cache.Remove(key); } node = node.Next; } _count = 0; LruLinkedList.Clear(ref _lruList); #if DEBUG _accessCount = 0; _evictionCount = 0; #endif } finally { _lock.ExitWriteLock(); } }
protected override void ClearCore(bool disposing) { _cache.Clear(); LruLinkedList.Clear(ref _lruList); #if DEBUG _accessCount = 0; _evictionCount = 0; _invocationCount = 0; _lastEvicted = null; #endif }