public static IRegistrationBuilder <TLimit, TScanningActivatorData, TRegistrationStyle> As <TLimit, TScanningActivatorData, TRegistrationStyle>(this IRegistrationBuilder <TLimit, TScanningActivatorData, TRegistrationStyle> registration, Func <Type, IEnumerable <Service> > serviceMapping) where TScanningActivatorData : ScanningActivatorData
 {
     if (registration == null)
     {
         throw new ArgumentNullException("registration");
     }
     if (serviceMapping == null)
     {
         throw new ArgumentNullException("serviceMapping");
     }
     return(ScanningRegistrationExtensions.As <TLimit, TScanningActivatorData, TRegistrationStyle>(registration, serviceMapping));
 }
        As <TLimit, TRegistrationStyle>(
            this IRegistrationBuilder <TLimit, OpenGenericScanningActivatorData, TRegistrationStyle> registration,
            Func <Type, IEnumerable <Service> > serviceMapping)
        {
            if (registration == null)
            {
                throw new ArgumentNullException(nameof(registration));
            }

            if (serviceMapping == null)
            {
                throw new ArgumentNullException(nameof(serviceMapping));
            }

            return(ScanningRegistrationExtensions.As(registration, serviceMapping));
        }