using System; using System.Collections.Concurrent; using System.Collections.Generic; namespace Kreta.Framework.Caching { internal sealed class ManualEnumCache : Cache { private ConcurrentDictionary> cache; public ManualEnumCache(CacheManager cacheManager) : base(cacheManager) { cache = new ConcurrentDictionary>(); } public Dictionary GetOrAdd(string key, Func> valueFactory) { return cache.GetOrAdd(key, valueFactory); } public override void Reset() { cache.Clear(); } } }