StructureMap.Pipeline.LifecycleObjectCache.Eject C# (CSharp) Method

Eject() public method

public Eject ( Type pluginType, StructureMap.Pipeline.Instance instance ) : void
pluginType System.Type
instance StructureMap.Pipeline.Instance
return void
        public void Eject(Type pluginType, Instance instance)
        {
            int key = instance.InstanceKey(pluginType);
            _lock.MaybeWrite(() => {
                if (!_objects.ContainsKey(key)) return;

                _lock.Write(() => {
                    var disposable = _objects[key] as IDisposable;
                    _objects.Remove(key);
                    disposable.SafeDispose();
                });
            });
        }