using System; using System.Collections.Generic; namespace EcsRx.Extensions { public static class IDictionaryExtensions { public static void RemoveAndDispose(this IDictionary disposables, T key) { disposables[key].Dispose(); disposables.Remove(key); } public static void RemoveAndDisposeAll(this IDictionary disposables) { disposables.ForEachRun(x => x.Value.Dispose()); disposables.Clear(); } } }