- rename IRegistrationBase to IRegistration
- split IDefaultRegistraton into IRegistrationBase and a new IDefaultRegistration (same with implementations)
/// The <see cref="Type"/> that implements the <see cref="IRegistrationBase.InterfaceType"/> that is registered with this <see cref="IDefaultRegistration{TInterface}"/>
/// The <see cref="Type"/> that implements the <see cref="IRegistration.InterfaceType"/> that is registered with this <see cref="IRegistrationBase{TInterface}"/>
/// </summary>
TypeImplementationType{get;}
/// <summary>
/// The Lifestyle of Instances that are created with this <see cref="IDefaultRegistration{TInterface}"/>
/// </summary>
LifestyleLifestyle{get;}
/// <summary>
/// This <see cref="Action{T}"/> is invoked when an instance of this type is created.
/// <para>Can be set in the <see cref="IIocInstaller"/> by calling <see cref="OnCreate"/></para>
/// </summary>
Action<TInterface>OnCreateAction{get;}
/// <summary>
/// Pass an <see cref="Action{T}"/> that will be invoked when an instance of this type is created
/// A special <see cref="IRegistrationBase"/> that allows to set a <see cref="ResolveCallback{T}"/> as a callback that is called on <see cref="IIocContainer.Resolve{T}()"/>
/// A special <see cref="IRegistration"/> that allows to set a <see cref="ResolveCallback{T}"/> as a callback that is called on <see cref="IIocContainer.Resolve{T}()"/>
The main container that carries all the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s and can resolve all the types you'll ever want
The main container that carries all the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s and can resolve all the types you'll ever want
<typeparamname="TInterface">The Interface to register</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`1"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></returns>
<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.IRegistration"/></returns>
Register a <seecref="T:System.Type"/> without an interface
</summary>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> to register</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></returns>
<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.IRegistration"/></returns>
Install the needed <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s in the given <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
Install the needed <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s in the given <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<paramname="container">The current <seecref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
The default registration that is used to register a <seecref="T:System.Type"/> for the Interface it implements
The <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/> to register a <seecref="T:System.Type"/> for the Interface it implements
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`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"/>
This <seecref="T:System.Action`1"/> 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.IDefaultRegistration`1.OnCreate(System.Action{`0})"/></para>
The <seecref="T:System.Type"/> of the multiton scope
The <seecref="T:System.Type"/> of the multiton scope
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.IRegistrationBase"/>
This <seecref="T:System.Action`1"/> 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.IRegistrationBase`1.OnCreate(System.Action{`0})"/></para>
A special <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> that allows to set a <seecref="T:LightweightIocContainer.ResolveCallback`1"/> as a callback that is called on <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
A special <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> that allows to set a <seecref="T:LightweightIocContainer.ResolveCallback`1"/> as a callback that is called on <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
The main container that carries all the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s and can resolve all the types you'll ever want
The main container that carries all the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s and can resolve all the types you'll ever want
The main container that carries all the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s and can resolve all the types you'll ever want
The main container that carries all the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s and can resolve all the types you'll ever want
<typeparamname="TInterface">The Interface to register</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`1"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></returns>
<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.IRegistration"/></returns>
Register a <seecref="T:System.Type"/> without an interface
</summary>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> to register</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
<returns>The created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></returns>
<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.IRegistration"/></returns>
Add the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> to the the <seecref="T:LightweightIocContainer.IocContainer"/>
Add the <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> to the the <seecref="T:LightweightIocContainer.IocContainer"/>
</summary>
<paramname="registration">The given <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></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>
The default registration that is used to register a <seecref="T:System.Type"/> for the Interface it implements
The <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/> to register a <seecref="T:System.Type"/> for the Interface it implements
The default registration that is used to register a <seecref="T:System.Type"/> for the Interface it implements
The <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/> 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 registration</param>
<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>
The name of the <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Registrations.RegistrationBase`1.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/>
The <seecref="T:System.Type"/> of the Interface that is registered with this <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
The registration that is used to register a multiton
The <seecref="T:System.Type"/> that implements the <seecref="P:LightweightIocContainer.Registrations.DefaultRegistration`1.InterfaceType"/> that is registered with this <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
The registration that is used to register a multiton
</summary>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the Interface</param>
<paramname="implementationType">The <seecref="T:System.Type"/> of the Implementation</param>
<paramname="scope">The <seecref="T:System.Type"/> of the Multiton Scope</param>
The <seecref="T:LightweightIocContainer.Lifestyle"/> of Instances that are created with this <seecref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
The <seecref="T:System.Type"/> of the multiton scope
This <seecref="T:System.Action`1"/> 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.Registrations.DefaultRegistration`1.OnCreate(System.Action{`0})"/></para>
The <seecref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/> that is used to register an Interface
The <seecref="T:System.Type"/> of the multiton scope
The <seecref="T:LightweightIocContainer.Lifestyle"/> of Instances that are created with this <seecref="T:LightweightIocContainer.Registrations.RegistrationBase`1"/>
This <seecref="T:System.Action`1"/> 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.Registrations.RegistrationBase`1.OnCreate(System.Action{`0})"/></para>
A factory to register interfaces and factories in an <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> and create the needed <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s
A factory to register interfaces and factories in an <seecref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> and create the needed <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/>s
<typeparamname="TInterface">The Interface to register</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`1"/></param>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/> with the given parameters</returns>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> with the given parameters</returns>
Register a <seecref="T:System.Type"/> without an interface and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
Register a <seecref="T:System.Type"/> without an interface and create a <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/>
</summary>
<typeparamname="TImplementation">The <seecref="T:System.Type"/> to register</typeparam>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/> with the given parameters</returns>
<paramname="lifestyle">The <seecref="T:LightweightIocContainer.Lifestyle"/> for this <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/></param>
<returns>A new created <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase`1"/> with the given parameters</returns>
A special <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> that allows to set a <seecref="T:LightweightIocContainer.ResolveCallback`1"/> as a callback that is called on <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
A special <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> that allows to set a <seecref="T:LightweightIocContainer.ResolveCallback`1"/> as a callback that is called on <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
A special <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> that allows to set a <seecref="T:LightweightIocContainer.ResolveCallback`1"/> as a callback that is called on <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
A special <seecref="T:LightweightIocContainer.Interfaces.Registrations.IRegistration"/> that allows to set a <seecref="T:LightweightIocContainer.ResolveCallback`1"/> as a callback that is called on <seecref="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1"/>
</summary>
<paramname="interfaceType">The <seecref="T:System.Type"/> of the interface</param>
<paramname="unitTestResolveCallback">The <seecref="T:LightweightIocContainer.ResolveCallback`1"/> that is set as a callback</param>
/// The name of the <see cref="DefaultRegistration{TInterface}"/>
/// </summary>
publicstringName{get;}
/// <summary>
/// The <see cref="Type"/> of the Interface that is registered with this <see cref="DefaultRegistration{TInterface}"/>
/// </summary>
publicTypeInterfaceType{get;}
/// <summary>
/// The <see cref="Type"/> that implements the <see cref="InterfaceType"/> that is registered with this <see cref="DefaultRegistration{TInterface}"/>
/// The <see cref="Type"/> that implements the <see cref="RegistrationBase{TInterface}.InterfaceType"/> that is registered with this <see cref="RegistrationBase{TInterface}"/>
/// </summary>
publicTypeImplementationType{get;}
/// <summary>
/// The <see cref="LightweightIocContainer.Lifestyle"/> of Instances that are created with this <see cref="DefaultRegistration{TInterface}"/>
/// </summary>
publicLifestyleLifestyle{get;}
/// <summary>
/// This <see cref="Action{T}"/> is invoked when an instance of this type is created.
/// <para>Can be set in the <see cref="IIocInstaller"/> by calling <see cref="OnCreate"/></para>
@ -9,13 +9,13 @@ using LightweightIocContainer.Interfaces.Registrations;
namespaceLightweightIocContainer.Registrations
{
/// <summary>
/// A special <see cref="IRegistrationBase"/> that allows to set a <see cref="ResolveCallback{T}"/> as a callback that is called on <see cref="IIocContainer.Resolve{T}()"/>
/// A special <see cref="IRegistration"/> that allows to set a <see cref="ResolveCallback{T}"/> as a callback that is called on <see cref="IIocContainer.Resolve{T}()"/>
/// A special <see cref="IRegistrationBase"/> that allows to set a <see cref="ResolveCallback{T}"/> as a callback that is called on <see cref="IIocContainer.Resolve{T}()"/>
/// A special <see cref="IRegistration"/> that allows to set a <see cref="ResolveCallback{T}"/> as a callback that is called on <see cref="IIocContainer.Resolve{T}()"/>
/// </summary>
/// <param name="interfaceType">The <see cref="Type"/> of the interface</param>
/// <param name="unitTestResolveCallback">The <see cref="ResolveCallback{T}"/> that is set as a callback</param>