public object Get(string key, Type type) { ICacheItem item = GetCacheItem(key); if (item != null) { IPolicy policy = GetPolicy(type); if (policy != null && !policy.IsAvailable(item)) { item = null; } } if (item == null) { object data = DBManager.Get(key, type); if (data != null) { item = new implement.CacheItem { CreateTime = DateTime.Now, Data = data, Key = key }; } if (item != null) { mLevelCacheds[mLevelCacheds.Count - 1].Set(item); return(item.Data); } } return(null); }