Exemplo n.º 1
0
        /// <summary>
        /// Dispose all disposables in the tracker.
        /// If disposable is still alive alose <see cref="HostContext"></see>.Release() is called to release the object.
        /// </summary>
        public void Dispose()
        {
            foreach (var wr in disposables)
            {
                var disposable = (IDisposable)wr.Target;
                if (!wr.IsAlive)
                {
                    continue;
                }

                HostContext.Release(disposable);
            }
        }