public static void Remove(AbstractCustomizableParameter parameter, bool useDispose = default) { if (useDispose && _cache[parameter.GetType()][parameter.Id] is IDisposable disposable) { disposable.Dispose(); } _cache[parameter.GetType()].Remove(parameter.Id); }
public static void Add(AbstractCustomizableParameter parameter, object customizableObject) { if (!_cache.TryGetValue(parameter.GetType(), out var dictionary)) { dictionary = new SortedDictionary <Guid, object>(); _cache.Add(parameter.GetType(), dictionary); } dictionary.Add(parameter.Id, customizableObject); }
public static bool TryGetValue(AbstractCustomizableParameter parameter, out object?customizableObject) { customizableObject = null; return(_cache.TryGetValue(parameter.GetType(), out var dictionary) && dictionary.TryGetValue(parameter.Id, out customizableObject)); }
public static bool ContainsKey(AbstractCustomizableParameter parameter) => _cache[parameter.GetType()].ContainsKey(parameter.Id);