Beispiel #1
0
 protected override void Dispose(bool explicitDispose)
 {
     if (explicitDispose)
     {
         _newDependencyInstancesDisposeRegistry?.Dispose();
         //
         _runningResolutionsSpinLock?.EnterAndExitLock();
         _runningResolutionsUniqueness?.Clear();
         _runningResolutionsSequence?.Clear();
         //
         _resolutionModelLazy?.Dispose();
         //
         _exporter?.Dispose();
         //
         _outerScopeGetter?.Dispose();
     }
     _newDependencyInstancesDisposeRegistry = null;
     _runningResolutionsUniqueness          = null;
     _runningResolutionsSequence            = null;
     _runningResolutionsSpinLock            = null;
     _resolutionModelLazy = null;
     _exporter            = null;
     _outerScopeGetter    = null;
     _serviceProviderApi  = null;
     _owner = null;
     //
     base.Dispose(explicitDispose);
 }
        public void WhenDispose_ThenValueIsDisposed()
        {
            var disposable = new Mock<IDisposable>();
            var lazy = new DisposableLazy<IDisposable>(() => disposable.Object);
            // ReSharper disable UnusedVariable
            var temp = lazy.Value; // force value to be created.
            // ReSharper restore UnusedVariable

            lazy.Dispose();

            disposable.Verify(d => d.Dispose());
        }
Beispiel #3
0
 protected override void Dispose(bool explicitDispose)
 {
     if (explicitDispose)
     {
         _efCtxLazy?.Dispose();
     }
     _dataCtx     = null;
     _efCtxLazy   = null;
     _efCtxGetter = null;
     //
     base.Dispose(explicitDispose);
 }
Beispiel #4
0
 protected override void Dispose(bool explicitDispose)
 {
     if (explicitDispose)
     {
         _dependencyScopeLazy?.Dispose();
         _outerServiceProviderHandler?.Dispose();
     }
     _dependencyScopeLazy         = null;
     _outerServiceProviderHandler = null;
     _outerDependencies           = null;
     //
     base.Dispose(explicitDispose);
 }
 public static void Dispose()
 {
     lazyStorage.Dispose();
 }