A lightweight IOC Container that is powerful enough to do all the things you need it to do.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1494 lines
111 KiB

<?xml version="1.0"?>
<doc>
<assembly>
<name>LightweightIocContainer</name>
</assembly>
<members>
<member name="M:LightweightIocContainer.ActionExtension.Convert``2(System.Action{``1})">
<summary>
Convert an <see cref="T:System.Action`1"/> to an <see cref="T:System.Action`1"/> of an inherited <see cref="T:System.Type"/>
</summary>
<typeparam name="T1">The <see cref="T:System.Type"/> of the <see cref="T:System.Action`1"/> to convert to, has to be implemented by <typeparamref name="T2"/></typeparam>
<typeparam name="T2">The <see cref="T:System.Type"/> of the given <see cref="T:System.Action`1"/>, has to implement <typeparamref name="T1"/></typeparam>
<param name="action">The given <see cref="T:System.Action`1"/> to convert</param>
<returns>An <see cref="T:System.Action`1"/> converted from the given <see cref="T:System.Action`1"/></returns>
</member>
<member name="M:LightweightIocContainer.EnumerableExtension.FirstOrGiven``2(System.Collections.Generic.IEnumerable{``0})">
<summary>
Returns the first element of a <see cref="T:System.Collections.Generic.IEnumerable`1"/>, or a new instance of a given <see cref="T:System.Type"/> if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no elements
</summary>
<typeparam name="TSource">The source <see cref="T:System.Type"/> of the <see cref="T:System.Collections.Generic.IEnumerable`1"/></typeparam>
<typeparam name="TGiven">The given <see cref="T:System.Type"/> to return if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no elements</typeparam>
<param name="source">The given <see cref="T:System.Collections.Generic.IEnumerable`1"/></param>
<returns>The first element of the <see cref="T:System.Collections.Generic.IEnumerable`1"/>, or a new instance of a given <see cref="T:System.Type"/> if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no elements</returns>
</member>
<member name="M:LightweightIocContainer.EnumerableExtension.FirstOrGiven``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
<summary>
Returns the first element of a <see cref="T:System.Collections.Generic.IEnumerable`1"/> that satisfies a condition, or a new instance of a given <see cref="T:System.Type"/> if no such element is found
</summary>
<typeparam name="TSource">The source <see cref="T:System.Type"/> of the <see cref="T:System.Collections.Generic.IEnumerable`1"/></typeparam>
<typeparam name="TGiven">The given <see cref="T:System.Type"/> to return if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no element that satisfies the given condition</typeparam>
<param name="source">The given <see cref="T:System.Collections.Generic.IEnumerable`1"/></param>
<param name="predicate">A function to test each element for a condition</param>
<returns>The first element of the <see cref="T:System.Collections.Generic.IEnumerable`1"/> that satisfies a condition, or a new instance of the given <see cref="T:System.Type"/> if no such element is found</returns>
</member>
<member name="M:LightweightIocContainer.EnumerableExtension.TryGetFirst``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
<summary>
Tries to get the first element of the given <see cref="T:System.Collections.Generic.IEnumerable`1"/> or creates a new element of a given <see cref="T:System.Type"/> when no element is found
</summary>
<typeparam name="TSource">The source <see cref="T:System.Type"/> of the <see cref="T:System.Collections.Generic.IEnumerable`1"/></typeparam>
<typeparam name="TGiven">The given <see cref="T:System.Type"/> to create a new element when no fitting element is found</typeparam>
<param name="source">The given <see cref="T:System.Collections.Generic.IEnumerable`1"/></param>
<param name="predicate">A function to test each element for a condition</param>
<returns>The first element of the <see cref="T:System.Collections.Generic.IEnumerable`1"/> or a new instance of the given <see cref="T:System.Type"/> when no element is found</returns>
</member>
<member name="T:LightweightIocContainer.Exceptions.CircularDependencyException">
<summary>
A circular dependency was detected during <see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.CircularDependencyException.#ctor(System.Type,System.Collections.Generic.List{System.Type})">
<summary>
A circular dependency was detected during <see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
</summary>
<param name="resolvingType">The currently resolving <see cref="T:System.Type"/></param>
<param name="resolveStack">The resolve stack at the time the <see cref="T:LightweightIocContainer.Exceptions.CircularDependencyException"/> was thrown</param>
</member>
<member name="P:LightweightIocContainer.Exceptions.CircularDependencyException.ResolvingType">
<summary>
The currently resolving <see cref="T:System.Type"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Exceptions.CircularDependencyException.ResolveStack">
<summary>
The resolve stack at the time the <see cref="T:LightweightIocContainer.Exceptions.CircularDependencyException"/> was thrown
</summary>
</member>
<member name="P:LightweightIocContainer.Exceptions.CircularDependencyException.Message">
<summary>
The exception message
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.ConstructorNotMatchingException">
<summary>
The constructor does not match the given or resolvable arguments
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.ConstructorNotMatchingException.#ctor(System.Reflection.ConstructorInfo,System.Exception)">
<summary>
The constructor does not match the given or resolvable arguments
</summary>
<param name="constructor">The constructor that does not match</param>
<param name="exception">The inner exception</param>
</member>
<member name="P:LightweightIocContainer.Exceptions.ConstructorNotMatchingException.Constructor">
<summary>
The constructor that does not match
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.GenericMethodNotFoundException">
<summary>
Could not find generic method
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.GenericMethodNotFoundException.#ctor(System.String)">
<summary>
Could not find generic method
</summary>
<param name="functionName">The name of the generic method</param>
</member>
<member name="T:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException">
<summary>
The creation of the abstract method is illegal in its current state
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException.#ctor(System.String,System.Reflection.MethodInfo)">
<summary>
The creation of the abstract method is illegal in its current state
</summary>
<param name="message">The exception message</param>
<param name="method">The method that is illegal to create</param>
</member>
<member name="P:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException.Method">
<summary>
The Method whose creation is illegal
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.InternalResolveException">
<summary>
An internal Error happened while the <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/> tried to resolve an instance
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.InternalResolveException.#ctor(System.String)">
<summary>
An internal Error happened while the <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/> tried to resolve an instance
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException">
<summary>
The registration of a Factory is not valid
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException.#ctor(System.String)">
<summary>
The registration of a Factory is not valid
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Exceptions.InvalidRegistrationException">
<summary>
The registration is not valid
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.InvalidRegistrationException.#ctor(System.String)">
<summary>
The registration is not valid
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Exceptions.IocContainerException">
<summary>
A base <see cref="T:System.Exception"/> for the <see cref="N:LightweightIocContainer"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.IocContainerException.#ctor">
<summary>
A base <see cref="T:System.Exception"/> for the <see cref="N:LightweightIocContainer"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.IocContainerException.#ctor(System.String)">
<summary>
A base <see cref="T:System.Exception"/> for the <see cref="N:LightweightIocContainer"/>
</summary>
<param name="message">The message of the <see cref="T:System.Exception"/></param>
</member>
<member name="M:LightweightIocContainer.Exceptions.IocContainerException.#ctor(System.String,System.Exception)">
<summary>
A base <see cref="T:System.Exception"/> for the <see cref="N:LightweightIocContainer"/>
</summary>
<param name="message">The message of the <see cref="T:System.Exception"/></param>
<param name="innerException">The inner <see cref="T:System.Exception"/></param>
</member>
<member name="P:LightweightIocContainer.Exceptions.IocContainerException.InnerExceptions">
<summary>
The inner exceptions of the <see cref="T:LightweightIocContainer.Exceptions.IocContainerException"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.MultipleRegistrationException">
<summary>
The <see cref="T:System.Type"/> is already registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.MultipleRegistrationException.#ctor(System.Type)">
<summary>
The <see cref="T:System.Type"/> is already registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="type">The <see cref="T:System.Type"/> that is already registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="P:LightweightIocContainer.Exceptions.MultipleRegistrationException.Type">
<summary>
The registered <see cref="T:System.Type"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.MultitonResolveException">
<summary>
An error happened while trying to resolve a multiton
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.MultitonResolveException.#ctor(System.String,System.Type)">
<summary>
An error happened while trying to resolve a multiton
</summary>
<param name="message">The exception message</param>
<param name="type">The <see cref="T:System.Type"/> of the multiton that's responsible for the exception</param>
</member>
<member name="P:LightweightIocContainer.Exceptions.MultitonResolveException.Type">
<summary>
The <see cref="T:System.Type"/> of the multiton that's responsible for the exception
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.NoMatchingConstructorFoundException">
<summary>
No matching constructor was found for the given or resolvable arguments
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.NoMatchingConstructorFoundException.#ctor(System.Type,LightweightIocContainer.Exceptions.ConstructorNotMatchingException[])">
<summary>
No matching constructor was found for the given or resolvable arguments
</summary>
<param name="type">The <see cref="P:LightweightIocContainer.Exceptions.NoMatchingConstructorFoundException.Type"/> with no matching constructor</param>
<param name="exceptions">The inner exceptions of type <see cref="T:LightweightIocContainer.Exceptions.ConstructorNotMatchingException"/></param>
</member>
<member name="P:LightweightIocContainer.Exceptions.NoMatchingConstructorFoundException.Type">
<summary>
The <see cref="P:LightweightIocContainer.Exceptions.NoMatchingConstructorFoundException.Type"/> with no matching constructor
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.NoMatchingConstructorFoundException.AddInnerException(LightweightIocContainer.Exceptions.ConstructorNotMatchingException)">
<summary>
Add an inner exception to the <see cref="P:LightweightIocContainer.Exceptions.IocContainerException.InnerExceptions"/>
</summary>
<param name="exception">The <see cref="T:LightweightIocContainer.Exceptions.ConstructorNotMatchingException"/></param>
</member>
<member name="T:LightweightIocContainer.Exceptions.NoPublicConstructorFoundException">
<summary>
No public constructor can be found for a <see cref="P:LightweightIocContainer.Exceptions.NoPublicConstructorFoundException.Type"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.NoPublicConstructorFoundException.#ctor(System.Type)">
<summary>
No public constructor can be found for a <see cref="P:LightweightIocContainer.Exceptions.NoPublicConstructorFoundException.Type"/>
</summary>
<param name="type">The <see cref="P:LightweightIocContainer.Exceptions.NoPublicConstructorFoundException.Type"/> with no public constructor</param>
</member>
<member name="P:LightweightIocContainer.Exceptions.NoPublicConstructorFoundException.Type">
<summary>
The <see cref="P:LightweightIocContainer.Exceptions.NoPublicConstructorFoundException.Type"/> with no public constructor
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.TypeNotRegisteredException">
<summary>
The <see cref="T:System.Type"/> is not registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.TypeNotRegisteredException.#ctor(System.Type)">
<summary>
The <see cref="T:System.Type"/> is not registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="type">The unregistered <see cref="T:System.Type"/></param>
</member>
<member name="P:LightweightIocContainer.Exceptions.TypeNotRegisteredException.Type">
<summary>
The unregistered <see cref="T:System.Type"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.UnknownRegistrationException">
<summary>
An unknown <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> was used
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.UnknownRegistrationException.#ctor(System.String)">
<summary>
An unknown <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> was used
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Factories.TypedFactory`1">
<summary>
Class to help implement an abstract typed factory
</summary>
<typeparam name="TFactory">The type of the abstract factory</typeparam>
</member>
<member name="P:LightweightIocContainer.Factories.TypedFactory`1.Factory">
<summary>
The implemented abstract typed factory/>
</summary>
</member>
<member name="T:LightweightIocContainer.GenericMethodCaller">
<summary>
Helper class to call a generic method without generic type parameters
</summary>
</member>
<member name="M:LightweightIocContainer.GenericMethodCaller.Call(System.Object,System.String,System.Type,System.Reflection.BindingFlags,System.Object[])">
<summary>
Call a generic method without generic type parameters
</summary>
<param name="caller">The caller of the method</param>
<param name="functionName">The name of the method to call</param>
<param name="genericParameter">The generic parameter as <see cref="T:System.Type"/> parameter</param>
<param name="bindingFlags">The <see cref="T:System.Reflection.BindingFlags"/> to find the method</param>
<param name="parameters">The parameters of the method</param>
<returns>The result of invoking the method</returns>
<exception cref="T:LightweightIocContainer.Exceptions.GenericMethodNotFoundException">Could not find the generic method</exception>
<exception cref="T:System.Exception">Any <see cref="T:System.Exception"/> thrown after invoking the generic method</exception>
</member>
<member name="T:LightweightIocContainer.Installers.AssemblyInstaller">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> that installs all <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s for its given <see cref="T:System.Reflection.Assembly"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Installers.AssemblyInstaller.#ctor(System.Reflection.Assembly)">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> that installs all <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s for its given <see cref="T:System.Reflection.Assembly"/>
</summary>
<param name="assembly">The <see cref="T:System.Reflection.Assembly"/> from where the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s will be installed</param>
</member>
<member name="P:LightweightIocContainer.Installers.AssemblyInstaller.Installers">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s of the Assembly that this <see cref="T:LightweightIocContainer.Installers.AssemblyInstaller"/> is installing
</summary>
</member>
<member name="M:LightweightIocContainer.Installers.AssemblyInstaller.Install(LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
Install the found <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s in the given <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="container">The current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="T:LightweightIocContainer.Installers.FromAssembly">
<summary>
Helper class that supplies methods to find the wanted <see cref="T:System.Reflection.Assembly"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Installers.FromAssembly.This">
<summary>
Get an <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> that installs from the <see cref="T:System.Reflection.Assembly"/> calling the method
</summary>
<returns>A new <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> with the calling <see cref="T:System.Reflection.Assembly"/></returns>
</member>
<member name="M:LightweightIocContainer.Installers.FromAssembly.Instance(System.Reflection.Assembly)">
<summary>
Get an <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> that installs from the given <see cref="T:System.Reflection.Assembly"/>
</summary>
<param name="assembly">The given <see cref="T:System.Reflection.Assembly"/></param>
<returns>A new <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> with the given <see cref="T:System.Reflection.Assembly"/></returns>
</member>
<member name="T:LightweightIocContainer.Interfaces.Factories.ITypedFactory`1">
<summary>
Class to help implement an abstract typed factory
</summary>
<typeparam name="TFactory">The type of the abstract factory</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Factories.ITypedFactory`1.Factory">
<summary>
The implemented abstract typed factory
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.IIocContainer">
<summary>
The main container that carries all the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s and can resolve all the types you'll ever want
</summary>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Install(LightweightIocContainer.Interfaces.Installers.IIocInstaller[])">
<summary>
Install the given installers for the current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="installers">The given <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s</param>
<returns>An instance of the current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``2(LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.RegisterOpenGenerics(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register an open generic Interface with an open generic Type that implements it
</summary>
<param name="tInterface">The open generic Interface to register</param>
<param name="tImplementation">The open generic Type that implements the interface</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``3(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``4(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``5(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TInterface4">A fourth interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``6(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TInterface4">A fourth interface to register</typeparam>
<typeparam name="TInterface5">A fifth interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``1(LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface
</summary>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> to register</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.RegisterMultiton``3">
<summary>
Register an Interface with a Type that implements it as a multiton
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.RegisterMultiton``4">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them as a multiton
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.RegisterFactory``1">
<summary>
Register an Interface as an abstract typed factory
</summary>
<typeparam name="TFactory">The abstract typed factory to register</typeparam>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1(System.Object[])">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="arguments">The constructor arguments</param>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.ClearMultitonInstances``1">
<summary>
Clear the multiton instances of the given <see cref="T:System.Type"/> from the registered multitons list
</summary>
<typeparam name="T">The <see cref="T:System.Type"/> to clear the multiton instances</typeparam>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.IsTypeRegistered``1">
<summary>
Is the given <see cref="T:System.Type"/> registered with this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>True if the given <see cref="T:System.Type"/> is registered with this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>, false if not</returns>
</member>
<member name="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> that installs all <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s for its given <see cref="T:System.Reflection.Assembly"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller.Installers">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s of the <see cref="T:System.Reflection.Assembly"/> that this <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> is installing
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller">
<summary>
The base class for <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/> installers
</summary>
</member>
<member name="M:LightweightIocContainer.Interfaces.Installers.IIocInstaller.Install(LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
Install the needed <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s in the given <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="container">The current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate">
<summary>
Provides an <see cref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate.OnCreateAction"/> to the generic <see cref="T:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate.OnCreateAction">
<summary>
This <see cref="T:System.Action"/> is invoked when an instance of this type is created.
<para>Can be set in the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <see cref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2.OnCreate(System.Action{`1})"/></para>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2">
<summary>
Provides an <see cref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2.OnCreate(System.Action{`1})"/> method to an <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
</summary>
<typeparam name="TInterface">The registered interface</typeparam>
<typeparam name="TImplementation">The registered implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2.OnCreate(System.Action{`1})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2"/></returns>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1">
<summary>
Provides a <see cref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.WithParameters(System.Object[])"/> method to an <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
</summary>
<typeparam name="TInterface">The registered interface</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters">
<summary>
An <see cref="T:System.Array"/> of parameters that are used to <see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Can be set in the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <see cref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.WithParameters(System.Object[])"/></para>
</summary>
</member>
<member name="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.WithParameters(System.Object[])">
<summary>
Pass parameters that will be used to<see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Parameters set with this method are always inserted at the beginning of the argument list if more parameters are given when resolving</para>
</summary>
<param name="parameters">The parameters</param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><see cref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/> are already set or no parameters given</exception>
</member>
<member name="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.WithParameters(System.ValueTuple{System.Int32,System.Object}[])">
<summary>
Pass parameters that will be used to<see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Parameters set with this method are inserted at the position in the argument list that is passed with the parameter if more parameters are given when resolving</para>
</summary>
<param name="parameters">The parameters with their position</param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><see cref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/> are already set or no parameters given</exception>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/> to register a <see cref="T:System.Type"/> for the Interface it implements
</summary>
<typeparam name="TInterface">The <see cref="T:System.Type"/> of the interface</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> of the implementation</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.ILifestyleProvider">
<summary>
Provides a <see cref="T:LightweightIocContainer.Lifestyle"/> to an <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.ILifestyleProvider.Lifestyle">
<summary>
The Lifestyle of Instances that are created with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultipleMultitonRegistration`3">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type that implements them as a multiton
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2">
<summary>
The base interface for every <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/> to register multiple interfaces
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2.Registrations">
<summary>
A <see cref="T:System.Collections.Generic.List`1"/> of <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s that are registered within this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TInterface3">The third interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TInterface3">The third interface</typeparam>
<typeparam name="TInterface4">The fourth interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`6">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TInterface3">The third interface</typeparam>
<typeparam name="TInterface4">The fourth interface</typeparam>
<typeparam name="TInterface5">The fifth interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration">
<summary>
Non generic <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1">
<summary>
A base <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1"/> without implementation
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1.Scope">
<summary>
The <see cref="T:System.Type"/> of the multiton scope
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`2">
<summary>
The registration that is used to register a multiton
</summary>
<typeparam name="TInterface">The registered interface</typeparam>
<typeparam name="TImplementation">The registered implementation</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration">
<summary>
<see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> for open generic types
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration.ImplementationType">
<summary>
The <see cref="T:System.Type"/> that implements the <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IRegistration">
<summary>
The base registration that is used to register an Interface
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.Name">
<summary>
The name of the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType">
<summary>
The <see cref="T:System.Type"/> of the Interface that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase">
<summary>
A base <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> without generic interface
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> that is used to register an Interface
</summary>
<typeparam name="TInterface">The registered Interface</typeparam>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register either only an interface or only a <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The <see cref="T:System.Type"/> of the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1.FactoryMethod">
<summary>
<see cref="T:System.Func`2"/> that is invoked instead of creating an instance of this <see cref="T:System.Type"/> the default way
</summary>
</member>
<member name="M:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1.WithFactoryMethod(System.Func{LightweightIocContainer.Interfaces.IIocContainer,`0})">
<summary>
Pass a <see cref="T:System.Func`2"/> that will be invoked instead of creating an instance of this <see cref="T:System.Type"/> the default way
</summary>
<param name="factoryMethod">The <see cref="T:System.Func`2"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1">
<summary>
The registration that is used to register an abstract typed factory
</summary>
<typeparam name="TFactory">The type of the abstract typed factory</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1.Factory">
<summary>
The class that contains the implemented abstract factory of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase">
<summary>
A base <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase"/> without generic interface and implementation
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase.ImplementationType">
<summary>
The <see cref="T:System.Type"/> that implements the <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`1">
<summary>
A base <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`1"/> without generic implementation
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2">
<summary>
A <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> that implements a <see cref="T:System.Type"/>
</summary>
</member>
<member name="T:LightweightIocContainer.InternalResolvePlaceholder">
<summary>
An internal placeholder that is used during the resolving process
</summary>
</member>
<member name="T:LightweightIocContainer.IocContainer">
<summary>
The main container that carries all the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s and can resolve all the types you'll ever want
</summary>
</member>
<member name="M:LightweightIocContainer.IocContainer.#ctor">
<summary>
The main container that carries all the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s and can resolve all the types you'll ever want
</summary>
</member>
<member name="M:LightweightIocContainer.IocContainer.Install(LightweightIocContainer.Interfaces.Installers.IIocInstaller[])">
<summary>
Install the given installers for the current <see cref="T:LightweightIocContainer.IocContainer"/>
</summary>
<param name="installers">The given <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s</param>
<returns>An instance of the current <see cref="T:LightweightIocContainer.IocContainer"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``2(LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.RegisterOpenGenerics(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register an open generic Interface with an open generic Type that implements it
</summary>
<param name="tInterface">The open generic Interface to register</param>
<param name="tImplementation">The open generic Type that implements the interface</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException">Function can only be used to register open generic types</exception>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException">Can't register a multiton with open generic registration</exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``3(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``4(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``5(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TInterface4">A fourth interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``6(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TInterface4">A fourth interface to register</typeparam>
<typeparam name="TInterface5">A fifth interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``1(LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface
</summary>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> to register</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.RegisterMultiton``3">
<summary>
Register an Interface with a Type that implements it as a multiton
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.RegisterMultiton``4">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them as a multiton
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.RegisterFactory``1">
<summary>
Register an Interface as an abstract typed factory
</summary>
<typeparam name="TFactory">The abstract typed factory to register</typeparam>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register(LightweightIocContainer.Interfaces.Registrations.IRegistration)">
<summary>
Add the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to the the <see cref="T:LightweightIocContainer.IocContainer"/>
</summary>
<param name="registration">The given <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<exception cref="T:LightweightIocContainer.Exceptions.MultipleRegistrationException">The <see cref="T:System.Type"/> is already registered in this <see cref="T:LightweightIocContainer.IocContainer"/></exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``2(LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration{``0,``1})">
<summary>
Register all <see cref="P:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2.Registrations"/> from an <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/>
</summary>
<typeparam name="TInterface1">The <see cref="T:System.Type"/> of the first registered interface</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> of the registered implementation</typeparam>
<param name="multipleRegistration">The <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></param>
</member>
<member name="M:LightweightIocContainer.IocContainer.Resolve``1">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Resolve``1(System.Object[])">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="arguments">The constructor arguments</param>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Resolve(System.Type,System.Object[],System.Collections.Generic.List{System.Type})">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<param name="type">The given <see cref="T:System.Type"/></param>
<param name="arguments">The constructor arguments</param>
<param name="resolveStack">The current resolve stack</param>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InternalResolveException">Could not find function <see cref="M:LightweightIocContainer.IocContainer.ResolveInternal``1(System.Object[],System.Collections.Generic.List{System.Type})"/></exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.ResolveInternal``1(System.Object[],System.Collections.Generic.List{System.Type})">
<summary>
Gets an instance of a given registered <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The registered <see cref="T:System.Type"/></typeparam>
<param name="arguments">The constructor arguments</param>
<param name="resolveStack">The current resolve stack</param>
<returns>An instance of the given registered <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.TypeNotRegisteredException">The given <see cref="T:System.Type"/> is not registered in this <see cref="T:LightweightIocContainer.IocContainer"/></exception>
<exception cref="T:LightweightIocContainer.Exceptions.UnknownRegistrationException">The registration for the given <see cref="T:System.Type"/> has an unknown <see cref="T:System.Type"/></exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.GetOrCreateSingletonInstance``1(LightweightIocContainer.Interfaces.Registrations.IRegistration,System.Object[],System.Collections.Generic.List{System.Type})">
<summary>
Gets or creates a singleton instance of a given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="registration">The registration of the given <see cref="T:System.Type"/></param>
<param name="arguments">The arguments to resolve</param>
<param name="resolveStack">The current resolve stack</param>
<returns>An existing or newly created singleton instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.GetOrCreateMultitonInstance``1(LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration{``0},System.Object[],System.Collections.Generic.List{System.Type})">
<summary>
Gets or creates a multiton instance of a given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="registration">The registration of the given <see cref="T:System.Type"/></param>
<param name="arguments">The arguments to resolve</param>
<param name="resolveStack">The current resolve stack</param>
<returns>An existing or newly created multiton instance of the given <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.MultitonResolveException">No arguments given</exception>
<exception cref="T:LightweightIocContainer.Exceptions.MultitonResolveException">Scope argument not given</exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.CreateInstance``1(LightweightIocContainer.Interfaces.Registrations.IRegistration,System.Object[],System.Collections.Generic.List{System.Type})">
<summary>
Creates an instance of a given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="registration">The registration of the given <see cref="T:System.Type"/></param>
<param name="arguments">The constructor arguments</param>
<param name="resolveStack">The current resolve stack</param>
<returns>A newly created instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.UpdateArgumentsWithRegistrationParameters``1(LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters{``0},System.Object[])">
<summary>
Update the given arguments with the <see cref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/> of the given <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="registration">The <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> of the given <see cref="T:System.Type"/></param>
<param name="arguments">The constructor arguments</param>
<returns>The argument list updated with the <see cref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.ResolveConstructorArguments(System.Type,System.Object[],System.Collections.Generic.List{System.Type})">
<summary>
Resolve the missing constructor arguments
</summary>
<param name="type">The <see cref="T:System.Type"/> that will be created</param>
<param name="arguments">The existing arguments</param>
<param name="resolveStack">The current resolve stack</param>
<returns>An array of all needed constructor arguments to create the <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.NoMatchingConstructorFoundException">No matching constructor was found for the given or resolvable arguments</exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.ClearMultitonInstances``1">
<summary>
Clear the multiton instances of the given <see cref="T:System.Type"/> from the registered multitons list
</summary>
<typeparam name="T">The <see cref="T:System.Type"/> to clear the multiton instances</typeparam>
</member>
<member name="M:LightweightIocContainer.IocContainer.IsTypeRegistered``1">
<summary>
Is the given <see cref="T:System.Type"/> registered with this <see cref="T:LightweightIocContainer.IocContainer"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>True if the given <see cref="T:System.Type"/> is registered with this <see cref="T:LightweightIocContainer.IocContainer"/>, false if not</returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Dispose">
<summary>
The <see cref="M:System.IDisposable.Dispose"/> method
</summary>
</member>
<member name="T:LightweightIocContainer.Lifestyle">
<summary>
The Lifestyles that can be used for a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
</summary>
</member>
<member name="F:LightweightIocContainer.Lifestyle.Transient">
<summary>
A new instance gets created every time an instance is resolved
</summary>
</member>
<member name="F:LightweightIocContainer.Lifestyle.Singleton">
<summary>
One instance is created that gets returned every time an instance is resolved
</summary>
</member>
<member name="F:LightweightIocContainer.Lifestyle.Multiton">
<summary>
A new instance gets created if the given scope has no created instance yet. Otherwise the already created instance is used.
</summary>
</member>
<member name="T:LightweightIocContainer.Registrations.DefaultRegistration`2">
<summary>
The <see cref="T:LightweightIocContainer.Registrations.DefaultRegistration`2"/> to register a <see cref="T:System.Type"/> for the Interface it implements
</summary>
<typeparam name="TInterface">The <see cref="T:System.Type"/> of the interface</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/>of the implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.DefaultRegistration`2.#ctor(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
The <see cref="T:LightweightIocContainer.Registrations.DefaultRegistration`2"/> to register a <see cref="T:System.Type"/> for the Interface it implements
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of the <see cref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/></param>
</member>
<member name="T:LightweightIocContainer.Registrations.MultipleMultitonRegistration`3">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type that implements them as a multiton
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleMultitonRegistration`3.#ctor(System.Type,System.Type,System.Type,System.Type)">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type that implements them as a multiton
</summary>
<param name="interfaceType1">The <see cref="T:System.Type"/> of the first interface</param>
<param name="interfaceType2">The <see cref="T:System.Type"/> of the second interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation</param>
<param name="scope">The <see cref="T:System.Type"/> of the multiton scope</param>
</member>
<member name="P:LightweightIocContainer.Registrations.MultipleMultitonRegistration`3.Registrations">
<summary>
A <see cref="T:System.Collections.Generic.List`1"/> of <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s that are registered within this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleMultitonRegistration`3.OnCreate(System.Action{`2})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2"/></returns>
</member>
<member name="T:LightweightIocContainer.Registrations.MultipleRegistration`2">
<summary>
The base class for every <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/> to register multiple interfaces
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`2.#ctor(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
The base class for every <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/> to register multiple interfaces
</summary>
<param name="interfaceType1">The <see cref="T:System.Type"/> of the first interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of this <see cref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
</member>
<member name="P:LightweightIocContainer.Registrations.MultipleRegistration`2.Registrations">
<summary>
A <see cref="T:System.Collections.Generic.List`1"/> of <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s that are registered within this <see cref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Registrations.MultipleRegistration`3">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`3.#ctor(System.Type,System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<param name="interfaceType1">The <see cref="T:System.Type"/> of the first interface</param>
<param name="interfaceType2">The <see cref="T:System.Type"/> of the second interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of this <see cref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`3.OnCreate(System.Action{`2})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2"/></returns>
</member>
<member name="T:LightweightIocContainer.Registrations.MultipleRegistration`4">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TInterface3">The third interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`4.#ctor(System.Type,System.Type,System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<param name="interfaceType1">The <see cref="T:System.Type"/> of the first interface</param>
<param name="interfaceType2">The <see cref="T:System.Type"/> of the second interface</param>
<param name="interfaceType3">The <see cref="T:System.Type"/> of the third interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of this <see cref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`4.OnCreate(System.Action{`3})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2"/></returns>
</member>
<member name="T:LightweightIocContainer.Registrations.MultipleRegistration`5">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TInterface3">The third interface</typeparam>
<typeparam name="TInterface4">The fourth interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`5.#ctor(System.Type,System.Type,System.Type,System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<param name="interfaceType1">The <see cref="T:System.Type"/> of the first interface</param>
<param name="interfaceType2">The <see cref="T:System.Type"/> of the second interface</param>
<param name="interfaceType3">The <see cref="T:System.Type"/> of the third interface</param>
<param name="interfaceType4">The <see cref="T:System.Type"/> of the fourth interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of this <see cref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`5.OnCreate(System.Action{`4})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2"/></returns>
</member>
<member name="T:LightweightIocContainer.Registrations.MultipleRegistration`6">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<typeparam name="TInterface1">The first interface</typeparam>
<typeparam name="TInterface2">The second interface</typeparam>
<typeparam name="TInterface3">The third interface</typeparam>
<typeparam name="TInterface4">The fourth interface</typeparam>
<typeparam name="TInterface5">The fifth interface</typeparam>
<typeparam name="TImplementation">The implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`6.#ctor(System.Type,System.Type,System.Type,System.Type,System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<param name="interfaceType1">The <see cref="T:System.Type"/> of the first interface</param>
<param name="interfaceType2">The <see cref="T:System.Type"/> of the second interface</param>
<param name="interfaceType3">The <see cref="T:System.Type"/> of the third interface</param>
<param name="interfaceType4">The <see cref="T:System.Type"/> of the fourth interface</param>
<param name="interfaceType5">The <see cref="T:System.Type"/> of the fifth interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of this <see cref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
</member>
<member name="M:LightweightIocContainer.Registrations.MultipleRegistration`6.OnCreate(System.Action{`5})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2"/></returns>
</member>
<member name="T:LightweightIocContainer.Registrations.MultitonRegistration`2">
<summary>
The registration that is used to register a multiton
</summary>
<typeparam name="TInterface">The registered interface</typeparam>
<typeparam name="TImplementation">The registered implementation</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultitonRegistration`2.#ctor(System.Type,System.Type,System.Type)">
<summary>
The registration that is used to register a multiton
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the Interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the Implementation</param>
<param name="scope">The <see cref="T:System.Type"/> of the Multiton Scope</param>
</member>
<member name="P:LightweightIocContainer.Registrations.MultitonRegistration`2.Scope">
<summary>
The <see cref="T:System.Type"/> of the multiton scope
</summary>
</member>
<member name="T:LightweightIocContainer.Registrations.OpenGenericRegistration">
<summary>
<see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> for open generic types
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.OpenGenericRegistration.#ctor(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
<see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> for open generic types
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation type</param>
<param name="lifestyle">The <see cref="P:LightweightIocContainer.Registrations.OpenGenericRegistration.Lifestyle"/> of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></param>
</member>
<member name="P:LightweightIocContainer.Registrations.OpenGenericRegistration.Name">
<summary>
The name of the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.OpenGenericRegistration.InterfaceType">
<summary>
The <see cref="T:System.Type"/> of the Interface that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.OpenGenericRegistration.ImplementationType">
<summary>
The <see cref="T:System.Type"/> that implements the <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.OpenGenericRegistration.Lifestyle">
<summary>
The Lifestyle of Instances that are created with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Registrations.RegistrationBase`1">
<summary>
The <see cref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/> that is used to register an Interface
</summary>
<typeparam name="TInterface">The registered Interface</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationBase`1.#ctor(System.Type,LightweightIocContainer.Lifestyle)">
<summary>
The <see cref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/> that is used to register an Interface
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the Interface</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of the registration</param>
</member>
<member name="P:LightweightIocContainer.Registrations.RegistrationBase`1.Name">
<summary>
The name of the <see cref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.RegistrationBase`1.InterfaceType">
<summary>
The <see cref="T:System.Type"/> of the Interface that is registered with this <see cref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.RegistrationBase`1.Lifestyle">
<summary>
The <see cref="T:LightweightIocContainer.Lifestyle"/> of Instances that are created with this <see cref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.RegistrationBase`1.Parameters">
<summary>
An <see cref="T:System.Array"/> of parameters that are used to <see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Can be set in the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <see cref="M:LightweightIocContainer.Registrations.RegistrationBase`1.WithParameters(System.Object[])"/></para>
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationBase`1.WithParameters(System.Object[])">
<summary>
Pass parameters that will be used to<see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Parameters set with this method are always inserted at the beginning of the argument list if more parameters are given when resolving</para>
</summary>
<param name="parameters">The parameters</param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><see cref="P:LightweightIocContainer.Registrations.RegistrationBase`1.Parameters"/> are already set or no parameters given</exception>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationBase`1.WithParameters(System.ValueTuple{System.Int32,System.Object}[])">
<summary>
Pass parameters that will be used to<see cref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Parameters set with this method are inserted at the position in the argument list that is passed with the parameter if more parameters are given when resolving</para>
</summary>
<param name="parameters">The parameters with their position</param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><see cref="P:LightweightIocContainer.Registrations.RegistrationBase`1.Parameters"/> are already set or no parameters given</exception>
</member>
<member name="T:LightweightIocContainer.Registrations.RegistrationFactory">
<summary>
A factory to register interfaces and factories in an <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> and create the needed <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``2(LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/></param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register an open generic Interface with an open generic Type that implements it and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/>
</summary>
<param name="tInterface">The open generic Interface to register</param>
<param name="tImplementation">The open generic Type that implements the interface</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``3(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/>
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``4(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/>
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``5(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/>
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TInterface4">A fourth interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``6(LightweightIocContainer.Lifestyle)">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/>
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TInterface3">A third interface to register</typeparam>
<typeparam name="TInterface4">A fourth interface to register</typeparam>
<typeparam name="TInterface5">A fifth interface to register</typeparam>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> that implements both interfaces</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>The created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``1(LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1"/>
</summary>
<typeparam name="T">The <see cref="T:System.Type"/> to register</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1"/></param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.RegisterMultiton``3">
<summary>
Register an Interface with a Type that implements it as a multiton and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`2"/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`2"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.RegisterMultiton``4">
<summary>
Register multiple interfaces for a <see cref="T:System.Type"/> that implements them as a multiton
</summary>
<typeparam name="TInterface1">The base interface to register</typeparam>
<typeparam name="TInterface2">A second interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleMultitonRegistration`3"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.RegisterFactory``1">
<summary>
Register an Interface as an abstract typed factory and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
</summary>
<typeparam name="TFactory">The abstract typed factory to register</typeparam>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/> with the given parameters</returns>
</member>
<member name="T:LightweightIocContainer.Registrations.SingleTypeRegistration`1">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register either only an interface or only a <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The <see cref="T:System.Type"/> of the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.SingleTypeRegistration`1.#ctor(System.Type,LightweightIocContainer.Lifestyle)">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register either only an interface or only a <see cref="T:System.Type"/>
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the interface or <see cref="T:System.Type"/></param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of the <see cref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/></param>
</member>
<member name="P:LightweightIocContainer.Registrations.SingleTypeRegistration`1.FactoryMethod">
<summary>
<see cref="T:System.Func`2"/> that is invoked instead of creating an instance of this <see cref="T:System.Type"/> the default way
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.SingleTypeRegistration`1.WithFactoryMethod(System.Func{LightweightIocContainer.Interfaces.IIocContainer,`0})">
<summary>
Pass a <see cref="T:System.Func`2"/> that will be invoked instead of creating an instance of this <see cref="T:System.Type"/> the default way
</summary>
<param name="factoryMethod">The <see cref="T:System.Func`2"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
</member>
<member name="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1">
<summary>
The registration that is used to register an abstract typed factory
</summary>
<typeparam name="TFactory">The <see cref="T:System.Type"/> of the abstract typed factory</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.#ctor(System.Type,LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
The registration that is used to register an abstract typed factory
</summary>
<param name="factoryType">The <see cref="T:System.Type"/> of the abstract typed factory</param>
<param name="container">The current instance of the <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.Name">
<summary>
The name of the <see cref="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.InterfaceType">
<summary>
The <see cref="T:System.Type"/> of the abstract typed factory that is registered with this <see cref="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.Factory">
<summary>
The class that contains the implemented abstract factory of this <see cref="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.CreateFactory(LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
Creates the factory from the given abstract factory type
</summary>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException">Factory registration is invalid</exception>
<exception cref="T:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException">Creation of abstract methods are illegal in their current state</exception>
</member>
<member name="T:LightweightIocContainer.Registrations.TypedRegistrationBase`2">
<summary>
A <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> that implements a <see cref="T:System.Type"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.TypedRegistrationBase`2.#ctor(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
A <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> that implements a <see cref="T:System.Type"/>
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the implementation type</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedRegistrationBase`2.ImplementationType">
<summary>
The <see cref="T:System.Type"/> that implements the <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedRegistrationBase`2.OnCreateAction">
<summary>
This <see cref="T:System.Action"/> is invoked when an instance of this type is created.
<para>Can be set in the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <see cref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2.OnCreate(System.Action{`1})"/></para>
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.TypedRegistrationBase`2.OnCreate(System.Action{`1})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistrationBase`2"/></returns>
</member>
<member name="M:LightweightIocContainer.TypeExtension.GetDefault(System.Type)">
<summary>
Returns the default value for a given <see cref="T:System.Type"/>
</summary>
<param name="type">The given <see cref="T:System.Type"/></param>
<returns>The default value for the given <see cref="T:System.Type"/></returns>
</member>
</members>
</doc>