示例#1
0
        /// <summary>
        /// Decrements the reference counter of the service <see cref="Instances"/>.
        /// </summary>
        protected override async ValueTask AsyncDispose()
        {
            await Task.WhenAll
            (
                Instances.Select(instance => instance.ReleaseAsync())
            );

            State |= ServiceEntryStates.Disposed;

            //
            // Nem kell "base" hivas mert az a Dispose()-t hivna.
            //
        }
示例#2
0
        /// <summary>
        /// Decrements the reference counter of the service <see cref="Instances"/>.
        /// </summary>
        protected override void Dispose(bool disposeManaged)
        {
            if (disposeManaged)
            {
                foreach (IServiceReference instance in Instances)
                {
                    instance.Release();
                }

                State |= ServiceEntryStates.Disposed;
            }

            base.Dispose(disposeManaged);
        }