/// A <see cref="List{T}"/> of <see cref="IRegistration"/>s that are registered within this <see cref="IMultipleRegistration{TInterface1,TInterface2}"/>
/// An <see cref="IRegistrationBase{TInterface}"/> to register multiple interfaces for on implementation type
/// </summary>
/// </summary>
List<IRegistration>Registrations{get;}
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TInterface3">The third 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`1"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
Provides an <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`3.OnCreate(System.Action{`0},System.Action{`1},System.Action{`2})"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/>
</summary>
<typeparamname="TInterface1">The first registered interface</typeparam>
<typeparamname="TInterface2">The second registered interface</typeparam>
<typeparamname="TInterface3">The third registered interface</typeparam>
Provides an <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`4.OnCreate(System.Action{`0},System.Action{`1},System.Action{`2},System.Action{`3})"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/>
</summary>
<typeparamname="TInterface1">The first registered interface</typeparam>
<typeparamname="TInterface2">The second registered interface</typeparam>
<typeparamname="TInterface3">The third registered interface</typeparam>
Provides an <seecref="M:LightweightIocContainer.Interfaces.Registrations.FluentProviders.IOnCreate`5.OnCreate(System.Action{`0},System.Action{`1},System.Action{`2},System.Action{`3},System.Action{`4})"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/>
</summary>
<typeparamname="TInterface1">The first registered interface</typeparam>
<typeparamname="TInterface2">The second registered interface</typeparam>
<typeparamname="TInterface3">The third registered interface</typeparam>
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.FluentProviders.IWithParameters`1.WithParameters(System.Object[])"/> method to an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
@ -507,6 +600,17 @@
</summary>
</summary>
<typeparamname="TInterface">The <seecref="T:System.Type"/> of the interface</typeparam>
<typeparamname="TInterface">The <seecref="T:System.Type"/> of the interface</typeparam>
A <seecref="T:System.Collections.Generic.List`1"/> of <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s that are registered within this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`1"/>
A <seecref="T:System.Collections.Generic.List`1"/> of <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s that are registered within this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
</summary>
<typeparamname="TInterface1">The first interface</typeparam>
<typeparamname="TInterface2">The second interface</typeparam>
<typeparamname="TInterface3">The third 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`1"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</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>
<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
@ -686,6 +848,13 @@
<paramname="registration">The given <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<paramname="registration">The given <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/></param>
<exceptioncref="T:LightweightIocContainer.Exceptions.MultipleRegistrationException">The <seecref="T:System.Type"/> is already registered in this <seecref="T:LightweightIocContainer.IocContainer"/></exception>
<exceptioncref="T:LightweightIocContainer.Exceptions.MultipleRegistrationException">The <seecref="T:System.Type"/> is already registered in this <seecref="T:LightweightIocContainer.IocContainer"/></exception>
Register all <seecref="P:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`1.Registrations"/> from an <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`1"/>
</summary>
<typeparamname="TInterface1">The <seecref="T:System.Type"/> of the first registered interface</typeparam>
The base class for every <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/> to register multiple interfaces
</summary>
<paramname="interfaceType1">The <seecref="T:System.Type"/> of the first interface</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>
A <seecref="T:System.Collections.Generic.List`1"/> of <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s that are registered within this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
@ -854,17 +1042,102 @@
<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>
A <seecref="T:System.Collections.Generic.List`1"/> of <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s that are registered within this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/>
Pass an <seecref="T:System.Action`1"/> for each interface that will be invoked when instances of the types are created
</summary>
</summary>
<paramname="action1">The first <seecref="T:System.Action`1"/></param>
<paramname="action2">The second <seecref="T:System.Action`1"/></param>
<returns>The current instance of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></returns>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<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="interfaceType3">The <seecref="T:System.Type"/> of the third interface</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>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<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="interfaceType3">The <seecref="T:System.Type"/> of the third 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="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
An <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> to register multiple interfaces for on implementation type
</summary>
<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="interfaceType3">The <seecref="T:System.Type"/> of the third interface</param>
<paramname="interfaceType4">The <seecref="T:System.Type"/> of the fourth 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="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> of this <seecref="T:LightweightIocContainer.Registrations.MultipleRegistration`2"/></param>
<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`1"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`2"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/>
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`3"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/>
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`4"/></returns>
Register multiple interfaces for a <seecref="T:System.Type"/> that implements them and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/>
</summary>
<typeparamname="TInterface1">The base interface to register</typeparam>
<typeparamname="TInterface2">A second interface to register</typeparam>
<typeparamname="TInterface3">A third interface to register</typeparam>
<typeparamname="TInterface4">A fourth interface to register</typeparam>
<typeparamname="TInterface5">A fifth interface to register</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>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IMultipleRegistration`5"/></returns>
Register a <seecref="T:System.Type"/> without an interface and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1"/>
Register a <seecref="T:System.Type"/> without an interface and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.ISingleTypeRegistration`1"/>
/// A <see cref="List{T}"/> of <see cref="IRegistration"/>s that are registered within this <see cref="MultipleRegistration{TInterface1,TInterface2}"/>
/// A <see cref="List{T}"/> of <see cref="IRegistration"/>s that are registered within this <see cref="MultipleRegistration{TInterface1,TInterface2}"/>
/// Pass an <see cref="Action{T}"/> for each interface that will be invoked when instances of the types are created
/// </summary>
/// </summary>
publicList<IRegistration>Registrations{get;}
/// <param name="action1">The first <see cref="Action{T}"/></param>
/// <param name="action2">The second <see cref="Action{T}"/></param>
/// <returns>The current instance of this <see cref="MultipleRegistration{TInterface1,TInterface2}"/></returns>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3}"/>
/// </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="Type"/> that implements both interfaces</typeparam>
/// <param name="lifestyle">The <see cref="Lifestyle"/> for this <see cref="IRegistrationBase{TInterface}"/></param>
/// <returns>The created <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3}"/></returns>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4}"/>
/// </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="Type"/> that implements both interfaces</typeparam>
/// <param name="lifestyle">The <see cref="Lifestyle"/> for this <see cref="IRegistrationBase{TInterface}"/></param>
/// <returns>The created <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4}"/></returns>
/// Register multiple interfaces for a <see cref="Type"/> that implements them and create a <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4,TInterface5}"/>
/// </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="Type"/> that implements both interfaces</typeparam>
/// <param name="lifestyle">The <see cref="Lifestyle"/> for this <see cref="IRegistrationBase{TInterface}"/></param>
/// <returns>The created <see cref="IMultipleRegistration{TInterface1,TInterface2,TInterface3,TInterface4,TInterface5}"/></returns>