/// An <see cref="Array"/> of parameters that are used to <see cref="IIocContainer.Resolve{T}()"/> an instance of this <see cref="IRegistration.InterfaceType"/>
/// An <see cref="Array"/> of parameters that are used to <see cref="IIocContainer.Resolve{T}()"/> an instance of this <see cref="IRegistration.InterfaceType"/>
/// Pass parameters that will be used to<see cref="IIocContainer.Resolve{T}()"/> an instance of this <see cref="IRegistration.InterfaceType"/>
/// Pass parameters that will be used to<see cref="IIocContainer.Resolve{T}()"/> an instance of this <see cref="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>
/// <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>
/// </summary>
/// <param name="parameters">The parameters with their position</param>
/// <param name="parameters">The parameters with their position</param>
/// <returns>The current instance of this <see cref="IRegistrationBase{TInterface}"/></returns>
/// <returns>The current instance of this <see cref="IRegistrationBase"/></returns>
/// <exception cref="InvalidRegistrationException"><see cref="Parameters"/> are already set or no parameters given</exception>
/// <exception cref="InvalidRegistrationException"><see cref="Parameters"/> are already set or no parameters given</exception>
/// A <see cref="List{T}"/> of <see cref="IRegistration"/>s that are registered within this <see cref="IMultipleRegistration{TInterface1,TImplementation}"/>
/// A <see cref="List{T}"/> of <see cref="IRegistration"/>s that are registered within this <see cref="IMultipleRegistration{TInterface1,TImplementation}"/>
/// The <see cref="Type"/> that implements the <see cref="IRegistration.InterfaceType"/> that is registered with this <see cref="IOpenGenericRegistration"/>
/// The <see cref="Type"/> that implements the <see cref="IRegistration.InterfaceType"/> that is registered with this <see cref="IRegistrationBase{TInterface}"/>
/// </summary>
TypeImplementationType{get;}
}
/// <summary>
/// A base <see cref="ITypedRegistrationBase{TInterface}"/> without generic implementation
Creates the factory from the given abstract factory type
</summary>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException">Factory registration is invalid</exception>
<exceptioncref="T:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException">Creation of abstract methods are illegal in their current state</exception>
Helper class to call a generic method without generic type parameters
Helper class to call a generic method without generic type parameters
@ -343,6 +361,11 @@
<paramname="assembly">The given <seecref="T:System.Reflection.Assembly"/></param>
<paramname="assembly">The given <seecref="T:System.Reflection.Assembly"/></param>
<returns>A new <seecref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> with the given <seecref="T:System.Reflection.Assembly"/></returns>
<returns>A new <seecref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> with the given <seecref="T:System.Reflection.Assembly"/></returns>
<typeparamname="TInterface">The Interface to register</typeparam>
<typeparamname="TInterface">The Interface to register</typeparam>
<typeparamname="TImplementation">The Type that implements the interface</typeparam>
<typeparamname="TImplementation">The Type that implements the interface</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<paramname="tInterface">The open generic Interface to register</param>
<paramname="tInterface">The open generic Interface to register</param>
<paramname="tImplementation">The open generic Type that implements the interface</param>
<paramname="tImplementation">The open generic Type that implements the interface</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
Register a <seecref="T:System.Type"/> without an interface
Register a <seecref="T:System.Type"/> without an interface
</summary>
</summary>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> to register</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
Provides an <seecref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate.OnCreateAction"/> to the generic <seecref="T:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2"/>
Provides an <seecref="P:LightweightIocContainer.Interfaces.Registrations.Fluent.IOnCreate.OnCreateAction"/> to the generic <seecref="T:LightweightIocContainer.Interfaces.Registrations.Fluent.IOnCreate`2"/>
This <seecref="T:System.Action"/> is invoked when an instance of this type is created.
This <seecref="T:System.Action"/> is invoked when an instance of this type is created.
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2.OnCreate(System.Action{`1})"/></para>
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Interfaces.Registrations.Fluent.IOnCreate`2.OnCreate(System.Action{`1})"/></para>
Provides an <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2.OnCreate(System.Action{`1})"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
Provides an <seecref="M:LightweightIocContainer.Interfaces.Registrations.Fluent.IOnCreate`2.OnCreate(System.Action{`1})"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>
Provides a <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.WithParameters(System.Object[])"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
Provides a <seecref="M:LightweightIocContainer.Interfaces.Registrations.Fluent.IWithFactory.WithFactory``1"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>
Provides a <seecref="M:LightweightIocContainer.Interfaces.Registrations.Fluent.IWithParameters.WithParameters(System.Object[])"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
An <seecref="T:System.Array"/> of parameters that are used to <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
An <seecref="T:System.Array"/> of parameters that are used to <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.WithParameters(System.Object[])"/></para>
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Interfaces.Registrations.Fluent.IWithParameters.WithParameters(System.Object[])"/></para>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="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>
<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>
</summary>
<paramname="parameters">The parameters</param>
<paramname="parameters">The parameters</param>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></returns>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/> are already set or no parameters given</exception>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Interfaces.Registrations.Fluent.IWithParameters.Parameters"/> are already set or no parameters given</exception>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="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>
<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>
</summary>
<paramname="parameters">The parameters with their position</param>
<paramname="parameters">The parameters with their position</param>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></returns>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/> are already set or no parameters given</exception>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Interfaces.Registrations.Fluent.IWithParameters.Parameters"/> are already set or no parameters given</exception>
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/> to register a <seecref="T:System.Type"/> for the Interface it implements
</summary>
<typeparamname="TInterface">The <seecref="T:System.Type"/> of the interface</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> of the implementation</typeparam>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type that implements them as a multiton
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register multiple interfaces for on implementation type that implements them as a multiton
</summary>
</summary>
<typeparamname="TInterface1">The first interface</typeparam>
<typeparamname="TInterface1">The first interface</typeparam>
<typeparamname="TInterface2">The second interface</typeparam>
<typeparamname="TInterface2">The second interface</typeparam>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/>
The <seecref="T:System.Type"/> of the Interface that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
The <seecref="T:System.Type"/> of the Interface that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
A base <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> without generic interface
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> that is used to register an Interface and extends the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> with fluent options
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register either only an interface or only a <seecref="T:System.Type"/>
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register either only an interface or only a <seecref="T:System.Type"/>
</summary>
</summary>
<typeparamname="T">The <seecref="T:System.Type"/> of the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></typeparam>
<typeparamname="T">The <seecref="T:System.Type"/> of the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></typeparam>
The class that contains the implemented abstract factory of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
The class that contains the implemented abstract factory of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
<typeparamname="TInterface">The Interface to register</typeparam>
<typeparamname="TInterface">The Interface to register</typeparam>
<typeparamname="TImplementation">The Type that implements the interface</typeparam>
<typeparamname="TImplementation">The Type that implements the interface</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
Register a <seecref="T:System.Type"/> without an interface
Register a <seecref="T:System.Type"/> without an interface
</summary>
</summary>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> to register</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
Update the given arguments with the <seecref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/> of the given <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
Update the given arguments with the <seecref="P:LightweightIocContainer.Interfaces.Registrations.Fluent.IWithParameters.Parameters"/> of the given <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>
</summary>
</summary>
<typeparamname="T">The given <seecref="T:System.Type"/></typeparam>
<paramname="registration">The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> of the given <seecref="T:System.Type"/></param>
<paramname="registration">The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> of the given <seecref="T:System.Type"/></param>
<returns>The argument list updated with the <seecref="P:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IWithParameters`1.Parameters"/></returns>
<returns>The argument list updated with the <seecref="P:LightweightIocContainer.Interfaces.Registrations.Fluent.IWithParameters.Parameters"/></returns>
The <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`2"/> to register a <seecref="T:System.Type"/> for the Interface it implements
</summary>
<typeparamname="TInterface">The <seecref="T:System.Type"/> of the interface</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/>of the implementation</typeparam>
The <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`2"/> to register a <seecref="T:System.Type"/> for the Interface it implements
</summary>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of the <seecref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/></param>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type that implements them as a multiton
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> to register multiple interfaces for on implementation type that implements them as a multiton
</summary>
</summary>
<typeparamname="TInterface1">The first interface</typeparam>
<typeparamname="TInterface1">The first interface</typeparam>
<typeparamname="TInterface2">The second interface</typeparam>
<typeparamname="TInterface2">The second interface</typeparam>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type that implements them as a multiton
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> to register multiple interfaces for on implementation type that implements them as a multiton
</summary>
</summary>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="scope">The <seecref="T:System.Type"/> of the multiton scope</param>
<paramname="scope">The <seecref="T:System.Type"/> of the multiton scope</param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
The base class for every <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/> to register multiple interfaces
The base class for every <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/> to register multiple interfaces
</summary>
</summary>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register multiple interfaces for on implementation type
</summary>
</summary>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register multiple interfaces for on implementation type
</summary>
</summary>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="interfaceType3">The <seecref="T:System.Type"/> of the third interface</param>
<paramname="interfaceType3">The <seecref="T:System.Type"/> of the third interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register multiple interfaces for on implementation type
</summary>
</summary>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
@ -1146,17 +1141,18 @@
<paramname="interfaceType4">The <seecref="T:System.Type"/> of the fourth interface</param>
<paramname="interfaceType4">The <seecref="T:System.Type"/> of the fourth interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register multiple interfaces for on implementation type
</summary>
</summary>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
<paramname="interfaceType2">The <seecref="T:System.Type"/> of the second interface</param>
@ -1176,13 +1172,14 @@
<paramname="interfaceType5">The <seecref="T:System.Type"/> of the fifth interface</param>
<paramname="interfaceType5">The <seecref="T:System.Type"/> of the fifth interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
<seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> for open generic types
<seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> for open generic types
</summary>
</summary>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface</param>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation type</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation type</param>
<paramname="lifestyle">The <seecref="P:LightweightIocContainer.Registrations.OpenGenericRegistration.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/></param>
</member>
<paramname="iocContainer">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
The <seecref="T:System.Type"/> of the Interface that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IOpenGenericRegistration"/>
The <seecref="T:System.Type"/> of the Interface that is registered with this <seecref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/>
The <seecref="T:LightweightIocContainer.Lifestyle"/> of Instances that are created with this <seecref="T:LightweightIocContainer.Registrations.RegistrationBase"/>
The <seecref="T:LightweightIocContainer.Lifestyle"/> of Instances that are created with this <seecref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/>
An <seecref="T:System.Array"/> of parameters that are used to <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Registrations.RegistrationBase.WithParameters(System.Object[])"/></para>
An <seecref="T:System.Array"/> of parameters that are used to <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
The Factory added with the <seecref="M:LightweightIocContainer.Registrations.RegistrationBase.WithFactory``1"/> method
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Registrations.RegistrationBase`1.WithParameters(System.Object[])"/></para>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="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>
<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>
</summary>
<paramname="parameters">The parameters</param>
<paramname="parameters">The parameters</param>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Registrations.RegistrationBase`1.Parameters"/> are already set or no parameters given</exception>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Registrations.RegistrationBase.Parameters"/> are already set or no parameters given</exception>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/>
Pass parameters that will be used to<seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/> an instance of this <seecref="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>
<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>
</summary>
<paramname="parameters">The parameters with their position</param>
<paramname="parameters">The parameters with their position</param>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></returns>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></returns>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Registrations.RegistrationBase`1.Parameters"/> are already set or no parameters given</exception>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidRegistrationException"><seecref="P:LightweightIocContainer.Registrations.RegistrationBase.Parameters"/> are already set or no parameters given</exception>
Register an Interface with a Type that implements it and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/>
Register an Interface with a Type that implements it and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistration`2"/>
</summary>
</summary>
<typeparamname="TInterface">The Interface to register</typeparam>
<typeparamname="TInterface">The Interface to register</typeparam>
<typeparamname="TImplementation">The Type that implements the interface</typeparam>
<typeparamname="TImplementation">The Type that implements the interface</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistration`2"/></param>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`2"/> with the given parameters</returns>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.ITypedRegistration`2"/> with the given parameters</returns>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> that implements both interfaces</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
<typeparamname="TScope">The Type of the multiton scope</typeparam>
<typeparamname="TScope">The Type of the multiton scope</typeparam>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleMultitonRegistration`3"/> with the given parameters</returns>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleMultitonRegistration`3"/> with the given parameters</returns>
Register an Interface as an abstract typed factory and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
Register an Interface as an abstract typed factory and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register either only an interface or only a <seecref="T:System.Type"/>
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register either only an interface or only a <seecref="T:System.Type"/>
</summary>
</summary>
<typeparamname="T">The <seecref="T:System.Type"/> of the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></typeparam>
<typeparamname="T">The <seecref="T:System.Type"/> of the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></typeparam>
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register either only an interface or only a <seecref="T:System.Type"/>
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to register either only an interface or only a <seecref="T:System.Type"/>
</summary>
</summary>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface or <seecref="T:System.Type"/></param>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface or <seecref="T:System.Type"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of the <seecref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of the <seecref="T:LightweightIocContainer.Registrations.RegistrationBase"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
The registration that is used to register an abstract typed factory
The registration that is used to register an abstract typed factory
</summary>
</summary>
<paramname="factoryType">The <seecref="T:System.Type"/> of the abstract typed factory</param>
<paramname="factory">The <seecref="T:LightweightIocContainer.Interfaces.Factories.ITypedFactory`1"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
The <seecref="T:System.Type"/> of the abstract typed factory that is registered with this <seecref="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1"/>
The <seecref="T:System.Type"/> of the factory that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>
Creates the factory from the given abstract factory type
A <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> that implements a <seecref="T:System.Type"/>
</summary>
<exceptioncref="T:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException">Factory registration is invalid</exception>
<exceptioncref="T:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException">Creation of abstract methods are illegal in their current state</exception>
A <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> that implements a <seecref="T:System.Type"/>
A <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> that implements a <seecref="T:System.Type"/>
</summary>
</summary>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface</param>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation type</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the implementation type</param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<paramname="container">The current instance of the <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistration.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>
This <seecref="T:System.Action"/> is invoked when an instance of this type is created.
This <seecref="T:System.Action"/> is invoked when an instance of this type is created.
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`2.OnCreate(System.Action{`1})"/></para>
<para>Can be set in the <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <seecref="M:LightweightIocContainer.Interfaces.Registrations.Fluent.IOnCreate`2.OnCreate(System.Action{`1})"/></para>
/// The <see cref="Type"/> of the Interface that is registered with this <see cref="IRegistration"/>
/// </summary>
publicTypeInterfaceType{get;}
/// <summary>
/// <summary>
/// The <see cref="Type"/> that implements the <see cref="IRegistration.InterfaceType"/> that is registered with this <see cref="IOpenGenericRegistration"/>
/// The <see cref="Type"/> that implements the <see cref="IRegistration.InterfaceType"/> that is registered with this <see cref="IOpenGenericRegistration"/>
/// </summary>
/// </summary>
publicTypeImplementationType{get;}
publicTypeImplementationType{get;}
/// <summary>
/// The Lifestyle of Instances that are created with this <see cref="IRegistration"/>
/// <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>
/// <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>
/// </summary>
/// <param name="parameters">The parameters with their position</param>
/// <param name="parameters">The parameters with their position</param>
/// <returns>The current instance of this <see cref="IRegistrationBase{TInterface}"/></returns>
/// <returns>The current instance of this <see cref="IRegistration"/></returns>
/// <exception cref="InvalidRegistrationException"><see cref="Parameters"/> are already set or no parameters given</exception>
/// <exception cref="InvalidRegistrationException"><see cref="Parameters"/> are already set or no parameters given</exception>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2}"/>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2}"/>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3}"/>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3}"/>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4}"/>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4}"/>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4,TInterface5}"/>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4,TInterface5}"/>
/// The <see cref="Type"/> that implements the <see cref="IRegistration.InterfaceType"/> that is registered with this <see cref="IRegistrationBase{TInterface}"/>
/// The <see cref="Type"/> that implements the <see cref="IRegistration.InterfaceType"/> that is registered with this <see cref="IRegistrationBase"/>