private static Dictionary<string, object> _cache = new Dictionary<string, object>(); public static object Get(string key, Func<object> load) { if (!_cache.ContainsKey(key)) _cache[key] = load(); return _cache[key]; }