public static void AddObserver <T>(T instance, ILifetimeObserver <T> observer, bool forceCachedEvents = true) where T : ILifetime { if (IsRunning) { Instance.AddObserverInternal <T>(instance, observer, forceCachedEvents); } }
public static void AddObserver <T>(this T instance, ILifetimeObserver <T> observer, bool forceCachedEvents = true) where T : ILifetime { Lifetime.AddObserver(instance, observer, forceCachedEvents); }
private void RemoveObserverInternal <T>(T instance, ILifetimeObserver <T> observer, bool forceCachedEvents) where T : ILifetime { var type = typeof(T); delegateTrees[type].RemoveObserver(instance, observer, forceCachedEvents); }