示例#1
0
        /// <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);
        }
 IServiceRegistration GetUnregisteredServiceRegistration(ResolutionRequest request)
 => unregisteredRegistrationProvider.Get(request);