/*----------------------------------------------------------------------------------------*/ /// <summary> /// Releases the specified binding. /// </summary> /// <param name="binding">The binding.</param> public void Release(IBinding binding) { Ensure.ArgumentNotNull(binding, "binding"); Ensure.NotDisposed(this); lock (_bindings) { Type service = binding.Service; if (Logger.IsDebugEnabled) { Logger.Debug("Releasing {0}", Format.Binding(binding)); } if (!_bindings.ContainsKey(service) || !_bindings.Remove(service, binding)) { throw new InvalidOperationException(ExceptionFormatter.CannotReleaseUnregisteredBinding(binding)); } } }