/// <summary> /// Gets a value indicating whether or not the container has a registration for the specified component type. /// </summary> /// <returns> /// <c>true</c>, if the container has a registration for the component type, <c>false</c> otherwise.</returns> /// <param name="name">An optional registration name.</param> /// <param name="serviceType">The component type for which to check.</param> public bool HasRegistration(Type serviceType, string name = null) { AssertNotDisposed(); var request = new ResolutionRequest(serviceType, name); return(registryStack.CanFulfilRequest(request)); }
/// <summary> /// Gets a registration which matches the given resolution request. /// </summary> /// <returns>The registration.</returns> /// <param name="request">Request.</param> public override IServiceRegistration GetRegistration(ResolutionRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (registrationProvider.CanFulfilRequest(request)) { return(registrationProvider.Get(request)); } var requestWithoutName = request.GetCopyWithoutName(); if (registrationProvider.CanFulfilRequest(requestWithoutName)) { return(registrationProvider.Get(requestWithoutName)); } return(null); }