<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Scrutor</name>
    </assembly>
    <members>
        <member name="M:Scrutor.IAssemblySelector.FromCallingAssembly">
            <summary>
            Will scan for types from the calling assembly.
            </summary>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromExecutingAssembly">
            <summary>
            Will scan for types from the currently executing assembly.
            </summary>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromEntryAssembly">
            <summary>
            Will scan for types from the entry assembly.
            </summary>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromApplicationDependencies">
            <summary>
            Will load and scan all runtime libraries referenced by the currently executing application.
            Calling this method is equivalent to calling <see cref="M:Scrutor.IAssemblySelector.FromDependencyContext(Microsoft.Extensions.DependencyModel.DependencyContext)"/> and passing in <see cref="P:Microsoft.Extensions.DependencyModel.DependencyContext.Default"/>.
            </summary>
            <remarks>
            If loading <see cref="P:Microsoft.Extensions.DependencyModel.DependencyContext.Default"/> fails, this method will fall back to calling <see cref="M:Scrutor.IAssemblySelector.FromAssemblyDependencies(System.Reflection.Assembly)"/>,
            using the entry assembly.
            </remarks>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromApplicationDependencies(System.Func{System.Reflection.Assembly,System.Boolean})">
            <summary>
            Will load and scan all runtime libraries referenced by the currently executing application.
            Calling this method is equivalent to calling <see cref="M:Scrutor.IAssemblySelector.FromDependencyContext(Microsoft.Extensions.DependencyModel.DependencyContext,System.Func{System.Reflection.Assembly,System.Boolean})"/> and passing in <see cref="P:Microsoft.Extensions.DependencyModel.DependencyContext.Default"/>.
            </summary>
            <remarks>
            If loading <see cref="P:Microsoft.Extensions.DependencyModel.DependencyContext.Default"/> fails, this method will fall back to calling <see cref="M:Scrutor.IAssemblySelector.FromAssemblyDependencies(System.Reflection.Assembly)"/>,
            using the entry assembly.
            </remarks>
            <param name="predicate">The predicate to match assemblies.</param>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromAssemblyDependencies(System.Reflection.Assembly)">
            <summary>
            Will load and scan all runtime libraries referenced by the currently specified <paramref name="assembly"/>.
            </summary>
            <param name="assembly">The assembly whose dependencies should be scanned.</param>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromDependencyContext(Microsoft.Extensions.DependencyModel.DependencyContext)">
            <summary>
            Will load and scan all runtime libraries in the given <paramref name="context"/>.
            </summary>
            <param name="context">The dependency context.</param>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromDependencyContext(Microsoft.Extensions.DependencyModel.DependencyContext,System.Func{System.Reflection.Assembly,System.Boolean})">
            <summary>
            Will load and scan all runtime libraries in the given <paramref name="context"/>.
            </summary>
            <param name="context">The dependency context.</param>
            <param name="predicate">The predicate to match assemblies.</param>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromAssemblyOf``1">
            <summary>
            Will scan for types from the assembly of type <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">The type in which assembly that should be scanned.</typeparam>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromAssembliesOf(System.Type[])">
            <summary>
            Will scan for types from the assemblies of each <see cref="T:System.Type"/> in <paramref name="types"/>.
            </summary>
            <param name="types">The types in which assemblies that should be scanned.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromAssembliesOf(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Will scan for types from the assemblies of each <see cref="T:System.Type"/> in <paramref name="types"/>.
            </summary>
            <param name="types">The types in which assemblies that should be scanned.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromAssemblies(System.Reflection.Assembly[])">
            <summary>
            Will scan for types in each <see cref="T:System.Reflection.Assembly"/> in <paramref name="assemblies"/>.
            </summary>
            <param name="assemblies">The assemblies to should be scanned.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="assemblies"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IAssemblySelector.FromAssemblies(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            Will scan for types in each <see cref="T:System.Reflection.Assembly"/> in <paramref name="assemblies"/>.
            </summary>
            <param name="assemblies">The assemblies to should be scanned.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="assemblies"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.AssignableTo``1">
            <summary>
            Will match all types that are assignable to <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">The type that should be assignable from the matching types.</typeparam>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.AssignableTo(System.Type)">
            <summary>
            Will match all types that are assignable to the specified <paramref name="type" />.
            </summary>
            <param name="type">The type that should be assignable from the matching types.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="type"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.AssignableToAny(System.Type[])">
            <summary>
            Will match all types that are assignable to any of the specified <paramref name="types" />.
            </summary>
            <param name="types">The types that should be assignable from the matching types.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.AssignableToAny(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Will match all types that are assignable to any of the specified <paramref name="types" />.
            </summary>
            <param name="types">The types that should be assignable from the matching types.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.WithAttribute``1">
            <summary>
            Will match all types that has an attribute of type <typeparamref name="T"/> defined.
            </summary>
            <typeparam name="T">The type of attribute that needs to be defined.</typeparam>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.WithAttribute(System.Type)">
            <summary>
            Will match all types that has an attribute of <paramref name="attributeType" /> defined.
            </summary>
            <param name="attributeType">Type of the attribute.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="attributeType"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.WithAttribute``1(System.Func{``0,System.Boolean})">
            <summary>
            Will match all types that has an attribute of type <typeparamref name="T"/> defined,
            and where the attribute itself matches the <paramref name="predicate"/>.
            </summary>
            <typeparam name="T">The type of attribute that needs to be defined.</typeparam>
            <param name="predicate">The predicate to match the attribute.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="predicate"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.WithoutAttribute``1">
            <summary>
            Will match all types that doesn't have an attribute of type <typeparamref name="T"/> defined.
            </summary>
            <typeparam name="T">The type of attribute that needs to be defined.</typeparam>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.WithoutAttribute(System.Type)">
            <summary>
            Will match all types that doesn't have an attribute of <paramref name="attributeType" /> defined.
            </summary>
            <param name="attributeType">Type of the attribute.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="attributeType"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.WithoutAttribute``1(System.Func{``0,System.Boolean})">
            <summary>
            Will match all types that doesn't have an attribute of type <typeparamref name="T"/> defined,
            and where the attribute itself matches the <paramref name="predicate"/>.
            </summary>
            <typeparam name="T">The type of attribute that needs to be defined.</typeparam>
            <param name="predicate">The predicate to match the attribute.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="predicate"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.InNamespaceOf``1">
            <summary>
            Will match all types in the same namespace as the type <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">A type inside the namespace to include.</typeparam>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.InNamespaceOf(System.Type[])">
            <summary>
            Will match all types in any of the namespaces of the <paramref name="types" /> specified.
            </summary>
            <param name="types">The types in the namespaces to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.InNamespaces(System.String[])">
            <summary>
            Will match all types in any of the <paramref name="namespaces"/> specified.
            </summary>
            <param name="namespaces">The namespaces to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="namespaces"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.InExactNamespaceOf``1">
            <summary>
            Will match all types in the exact same namespace as the type <typeparamref name="T"/>
            </summary>
            <typeparam name="T">The type in the namespace to include</typeparam>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.InExactNamespaceOf(System.Type[])">
            <summary>
            Will match all types in the exact same namespace as the type <paramref name="types"/>
            </summary>
            <param name="types">The types in the namespaces to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.InExactNamespaces(System.String[])">
            <summary>
            Will match all types in the exact same namespace as the type <paramref name="namespaces"/>
            </summary>
            <param name="namespaces">The namespace to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="namespaces"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.InNamespaces(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Will match all types in any of the <paramref name="namespaces"/> specified.
            </summary>
            <param name="namespaces">The namespaces to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="namespaces"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.NotInNamespaceOf``1">
            <summary>
            Will match all types outside of the same namespace as the type <typeparamref name="T"/>.
            </summary>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.NotInNamespaceOf(System.Type[])">
            <summary>
            Will match all types outside of all of the namespaces of the <paramref name="types" /> specified.
            </summary>
            <param name="types">The types in the namespaces to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.NotInNamespaces(System.String[])">
            <summary>
            Will match all types outside of all of the <paramref name="namespaces"/> specified.
            </summary>
            <param name="namespaces">The namespaces to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="namespaces"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.NotInNamespaces(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Will match all types outside of all of the <paramref name="namespaces"/> specified.
            </summary>
            <param name="namespaces">The namespaces to include.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="namespaces"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeFilter.Where(System.Func{System.Type,System.Boolean})">
            <summary>
            Will match types based on the specified <paramref name="predicate"/>.
            </summary>
            <param name="predicate">The predicate to match types.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="predicate" /> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeSelector.AddClasses">
            <summary>
            Adds all public, non-abstract classes from the selected assemblies to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
            </summary>
        </member>
        <member name="M:Scrutor.IImplementationTypeSelector.AddClasses(System.Boolean)">
            <summary>
            Adds all non-abstract classes from the selected assemblies to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
            </summary>
            <param name="publicOnly">Specifies whether too add public types only.</param>
        </member>
        <member name="M:Scrutor.IImplementationTypeSelector.AddClasses(System.Action{Scrutor.IImplementationTypeFilter})">
            <summary>
            Adds all public, non-abstract classes from the selected assemblies that
            matches the requirements specified in the <paramref name="action"/>
            to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
            </summary>
            <param name="action">The filtering action.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="action"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IImplementationTypeSelector.AddClasses(System.Action{Scrutor.IImplementationTypeFilter},System.Boolean)">
            <summary>
            Adds all non-abstract classes from the selected assemblies that
            matches the requirements specified in the <paramref name="action"/>
            to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
            </summary>
            <param name="action">The filtering action.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="action"/> argument is <c>null</c>.</exception>
            <param name="publicOnly">Specifies whether too add public types only.</param>
        </member>
        <member name="M:Scrutor.ILifetimeSelector.WithSingletonLifetime">
            <summary>
            Registers each matching concrete type with <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton"/> lifetime.
            </summary>
        </member>
        <member name="M:Scrutor.ILifetimeSelector.WithScopedLifetime">
            <summary>
            Registers each matching concrete type with <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped"/> lifetime.
            </summary>
        </member>
        <member name="M:Scrutor.ILifetimeSelector.WithTransientLifetime">
            <summary>
            Registers each matching concrete type with <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Transient"/> lifetime.
            </summary>
        </member>
        <member name="M:Scrutor.ILifetimeSelector.WithLifetime(Microsoft.Extensions.DependencyInjection.ServiceLifetime)">
            <summary>
            Registers each matching concrete type with the specified <paramref name="lifetime"/>.
            </summary>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.AsSelf">
            <summary>
            Registers each matching concrete type as itself.
            </summary>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.As``1">
            <summary>
            Registers each matching concrete type as <typeparamref name="T"/>.
            </summary>
            <typeparam name="T">The type to register as.</typeparam>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.As(System.Type[])">
            <summary>
            Registers each matching concrete type as each of the specified <paramref name="types" />.
            </summary>
            <param name="types">The types to register as.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.As(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Registers each matching concrete type as each of the specified <paramref name="types" />.
            </summary>
            <param name="types">The types to register as.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.AsImplementedInterfaces">
            <summary>
            Registers each matching concrete type as all of its implemented interfaces.
            </summary>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.AsSelfWithInterfaces">
            <summary>
            Registers each matching concrete type as all of its implemented interfaces, by returning an instance of the main type
            </summary>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.AsMatchingInterface">
            <summary>
            Registers the type with the first found matching interface name.  (e.g. ClassName is matched to IClassName)
            </summary>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.AsMatchingInterface(System.Action{System.Reflection.TypeInfo,Scrutor.IImplementationTypeFilter})">
            <summary>
            Registers the type with the first found matching interface name.  (e.g. ClassName is matched to IClassName)
            </summary>
            <param name="action">Filter for matching the Type to an implementing interface</param>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.As(System.Func{System.Type,System.Collections.Generic.IEnumerable{System.Type}})">
            <summary>
            Registers each matching concrete type as each of the types returned
            from the <paramref name="selector"/> function.
            </summary>
            <param name="selector">A function to select service types based on implementation types.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="selector"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.IServiceTypeSelector.UsingAttributes">
            <summary>
            Registers each matching concrete type according to their <see cref="T:Scrutor.ServiceDescriptorAttribute"/>.
            </summary>
        </member>
        <member name="M:Scrutor.ITypeSelector.AddTypes(System.Type[])">
            <summary>
            Will scan the types <see cref="T:System.Type"/> in <paramref name="types"/>.
            </summary>
            <param name="types">The types in which assemblies that should be scanned.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.ITypeSelector.AddTypes(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Will scan the types <see cref="T:System.Type"/> in <paramref name="types"/>.
            </summary>
            <param name="types">The types in which assemblies that should be scanned.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="types"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Scrutor.ReflectionExtensions.FindMatchingInterface(System.Reflection.TypeInfo,System.Action{System.Reflection.TypeInfo,Scrutor.IImplementationTypeFilter})">
            <summary>
            Find matching interface by name C# interface name convention.  Optionally use a filter.
            </summary>
            <param name="typeInfo"></param>
            <param name="action"></param>
            <returns></returns>
        </member>
        <member name="F:Scrutor.RegistrationStrategy.Skip">
            <summary>
            Skips registrations for services that already exists.
            </summary>
        </member>
        <member name="F:Scrutor.RegistrationStrategy.Append">
            <summary>
            Appends a new registration for existing services.
            </summary>
        </member>
        <member name="F:Scrutor.RegistrationStrategy.Throw">
            <summary>
            Throws when trying to register an existing service.
            </summary>
        </member>
        <member name="M:Scrutor.RegistrationStrategy.Replace">
            <summary>
            Replaces existing service registrations using <see cref="F:Scrutor.ReplacementBehavior.Default"/>.
            </summary>
        </member>
        <member name="M:Scrutor.RegistrationStrategy.Replace(Scrutor.ReplacementBehavior)">
            <summary>
            Replaces existing service registrations based on the specified <see cref="T:Scrutor.ReplacementBehavior"/>.
            </summary>
            <param name="behavior">The behavior to use when replacing services.</param>
        </member>
        <member name="M:Scrutor.RegistrationStrategy.Apply(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
            <summary>
            Applies the the <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceDescriptor"/> to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
            </summary>
            <param name="services">The service collection.</param>
            <param name="descriptor">The descriptor to apply.</param>
        </member>
        <member name="F:Scrutor.ReplacementBehavior.Default">
            <summary>
            Replace existing services by service type.
            </summary>
        </member>
        <member name="F:Scrutor.ReplacementBehavior.ServiceType">
            <summary>
            Replace existing services by service type (default).
            </summary>
        </member>
        <member name="F:Scrutor.ReplacementBehavior.ImplementationType">
            <summary>
            Replace existing services by implementation type.
            </summary>
        </member>
        <member name="F:Scrutor.ReplacementBehavior.All">
            <summary>
            Replace existing services by either service- or implementation type.
            </summary>
        </member>
        <member name="M:Scrutor.TypeSourceSelector.FromAssemblyOf``1">
            <inheritdoc />
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
            <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
            <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
            <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
            <summary>Specifies that an output will not be null even if the corresponding type allows it.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
            <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
            <summary>Initializes the attribute with the specified return value condition.</summary>
            <param name="returnValue">
            The return value condition. If the method returns this value, the associated parameter may be null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
            <summary>Gets the return value condition.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
            <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
            <summary>Initializes the attribute with the specified return value condition.</summary>
            <param name="returnValue">
            The return value condition. If the method returns this value, the associated parameter will not be null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
            <summary>Gets the return value condition.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
            <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
            <summary>Initializes the attribute with the associated parameter name.</summary>
            <param name="parameterName">
            The associated parameter name.  The output will be non-null if the argument to the parameter specified is non-null.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
            <summary>Gets the associated parameter name.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
            <summary>Applied to a method that will never return under any circumstance.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
            <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
            <summary>Initializes the attribute with the specified parameter value.</summary>
            <param name="parameterValue">
            The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
            the associated parameter matches this value.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
            <summary>Gets the condition parameter value.</summary>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.Decorate``2(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
            <summary>
            Decorates all registered services of type <typeparamref name="TService"/>
            using the specified type <typeparamref name="TDecorator"/>.
            </summary>
            <param name="services">The services to add to.</param>
            <exception cref="T:Scrutor.MissingTypeRegistrationException">If no service of the type <typeparamref name="TService"/> has been registered.</exception>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="services"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.TryDecorate``2(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
            <summary>
            Decorates all registered services of type <typeparamref name="TService"/>
            using the specified type <typeparamref name="TDecorator"/>.
            </summary>
            <param name="services">The services to add to.</param>
            <exception cref="T:System.ArgumentNullException">If the <paramref name="services"/> argument is <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.Decorate(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)">
            <summary>
            Decorates all registered services of the specified <paramref name="serviceType"/>
            using the specified <paramref name="decoratorType"/>.
            </summary>
            <param name="services">The services to add to.</param>
            <param name="serviceType">The type of services to decorate.</param>
            <param name="decoratorType">The type to decorate existing services with.</param>
            <exception cref="T:Scrutor.MissingTypeRegistrationException">If no service of the specified <paramref name="serviceType"/> has been registered.</exception>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>,
            <paramref name="serviceType"/> or <paramref name="decoratorType"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.TryDecorate(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type)">
            <summary>
            Decorates all registered services of the specified <paramref name="serviceType"/>
            using the specified <paramref name="decoratorType"/>.
            </summary>
            <param name="services">The services to add to.</param>
            <param name="serviceType">The type of services to decorate.</param>
            <param name="decoratorType">The type to decorate existing services with.</param>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>,
            <paramref name="serviceType"/> or <paramref name="decoratorType"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.Decorate``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func{``0,System.IServiceProvider,``0})">
            <summary>
            Decorates all registered services of type <typeparamref name="TService"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <typeparam name="TService">The type of services to decorate.</typeparam>
            <param name="services">The services to add to.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:Scrutor.MissingTypeRegistrationException">If no service of <typeparamref name="TService"/> has been registered.</exception>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>
            or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.TryDecorate``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func{``0,System.IServiceProvider,``0})">
            <summary>
            Decorates all registered services of type <typeparamref name="TService"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <typeparam name="TService">The type of services to decorate.</typeparam>
            <param name="services">The services to add to.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>
            or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.Decorate``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func{``0,``0})">
            <summary>
            Decorates all registered services of type <typeparamref name="TService"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <typeparam name="TService">The type of services to decorate.</typeparam>
            <param name="services">The services to add to.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:Scrutor.MissingTypeRegistrationException">If no service of <typeparamref name="TService"/> has been registered.</exception>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>
            or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.TryDecorate``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Func{``0,``0})">
            <summary>
            Decorates all registered services of type <typeparamref name="TService"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <typeparam name="TService">The type of services to decorate.</typeparam>
            <param name="services">The services to add to.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>
            or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.Decorate(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func{System.Object,System.IServiceProvider,System.Object})">
            <summary>
            Decorates all registered services of the specified <paramref name="serviceType"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <param name="services">The services to add to.</param>
            <param name="serviceType">The type of services to decorate.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:Scrutor.MissingTypeRegistrationException">If no service of the specified <paramref name="serviceType"/> has been registered.</exception>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>,
            <paramref name="serviceType"/> or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.TryDecorate(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func{System.Object,System.IServiceProvider,System.Object})">
            <summary>
            Decorates all registered services of the specified <paramref name="serviceType"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <param name="services">The services to add to.</param>
            <param name="serviceType">The type of services to decorate.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>,
            <paramref name="serviceType"/> or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.Decorate(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func{System.Object,System.Object})">
            <summary>
            Decorates all registered services of the specified <paramref name="serviceType"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <param name="services">The services to add to.</param>
            <param name="serviceType">The type of services to decorate.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:Scrutor.MissingTypeRegistrationException">If no service of the specified <paramref name="serviceType"/> has been registered.</exception>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>,
            <paramref name="serviceType"/> or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.TryDecorate(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Func{System.Object,System.Object})">
            <summary>
            Decorates all registered services of the specified <paramref name="serviceType"/>
            using the <paramref name="decorator"/> function.
            </summary>
            <param name="services">The services to add to.</param>
            <param name="serviceType">The type of services to decorate.</param>
            <param name="decorator">The decorator function.</param>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>,
            <paramref name="serviceType"/> or <paramref name="decorator"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions.Scan(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Scrutor.ITypeSourceSelector})">
            <summary>
            Adds registrations to the <paramref name="services"/> collection using
            conventions specified using the <paramref name="action"/>.
            </summary>
            <param name="services">The services to add to.</param>
            <param name="action">The configuration action.</param>
            <exception cref="T:System.ArgumentNullException">If either the <paramref name="services"/>
            or <paramref name="action"/> arguments are <c>null</c>.</exception>
        </member>
        <member name="M:Microsoft.Extensions.Internal.TypeNameHelper.GetTypeDisplayName(System.Type,System.Boolean,System.Boolean,System.Boolean,System.Char)">
            <summary>
            Pretty print a type name.
            </summary>
            <param name="type">The <see cref="T:System.Type"/>.</param>
            <param name="fullName"><c>true</c> to print a fully qualified name.</param>
            <param name="includeGenericParameterNames"><c>true</c> to include generic parameter names.</param>
            <param name="includeGenericParameters"><c>true</c> to include generic parameters.</param>
            <param name="nestedTypeDelimiter">Character to use as a delimiter in nested type names</param>
            <returns>The pretty printed type name.</returns>
        </member>
    </members>
</doc>
