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

778 lines
53 KiB

<?xml version="1.0"?>
<doc>
<assembly>
<name>LightweightIocContainer</name>
</assembly>
<members>
<member name="M:LightweightIocContainer.EnumerableExtension.FirstOrGiven``2(System.Collections.Generic.IEnumerable{``0})">
<summary>
Returns the first element of a <see cref="T:System.Collections.Generic.IEnumerable`1"/>, or a new instance of a given <see cref="T:System.Type"/> if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no elements
</summary>
<typeparam name="TSource">The source <see cref="T:System.Type"/> of the <see cref="T:System.Collections.Generic.IEnumerable`1"/></typeparam>
<typeparam name="TGiven">The given <see cref="T:System.Type"/> to return if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no elements</typeparam>
<param name="source">The given <see cref="T:System.Collections.Generic.IEnumerable`1"/></param>
<returns>The first element of the <see cref="T:System.Collections.Generic.IEnumerable`1"/>, or a new instance of a given <see cref="T:System.Type"/> if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no elements</returns>
</member>
<member name="M:LightweightIocContainer.EnumerableExtension.FirstOrGiven``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
<summary>
Returns the first element of a <see cref="T:System.Collections.Generic.IEnumerable`1"/> that satisfies a condition, or a new instance of a given <see cref="T:System.Type"/> if no such element is found
</summary>
<typeparam name="TSource">The source <see cref="T:System.Type"/> of the <see cref="T:System.Collections.Generic.IEnumerable`1"/></typeparam>
<typeparam name="TGiven">The given <see cref="T:System.Type"/> to return if the <see cref="T:System.Collections.Generic.IEnumerable`1"/> contains no element that satisfies the given condition</typeparam>
<param name="source">The given <see cref="T:System.Collections.Generic.IEnumerable`1"/></param>
<param name="predicate">A function to test each element for a condition</param>
<returns>The first element of the <see cref="T:System.Collections.Generic.IEnumerable`1"/> that satisfies a condition, or a new instance of the given <see cref="T:System.Type"/> if no such element is found</returns>
</member>
<member name="M:LightweightIocContainer.EnumerableExtension.TryGetFirst``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
<summary>
Tries to get the first element of the given <see cref="T:System.Collections.Generic.IEnumerable`1"/> or creates a new element of a given <see cref="T:System.Type"/> when no element is found
</summary>
<typeparam name="TSource">The source <see cref="T:System.Type"/> of the <see cref="T:System.Collections.Generic.IEnumerable`1"/></typeparam>
<typeparam name="TGiven">The given <see cref="T:System.Type"/> to create a new element when no fitting element is found</typeparam>
<param name="source">The given <see cref="T:System.Collections.Generic.IEnumerable`1"/></param>
<param name="predicate">A function to test each element for a condition</param>
<returns>The first element of the <see cref="T:System.Collections.Generic.IEnumerable`1"/> or a new instance of the given <see cref="T:System.Type"/> when no element is found</returns>
</member>
<member name="T:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException">
<summary>
The creation of the abstract method is illegal in its current state
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException.#ctor(System.String,System.Reflection.MethodInfo)">
<summary>
The creation of the abstract method is illegal in its current state
</summary>
<param name="message">The exception message</param>
<param name="method">The method that is illegal to create</param>
</member>
<member name="P:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException.Method">
<summary>
The Method whose creation is illegal
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.InternalResolveException">
<summary>
An internal Error happened while the <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/> tried to resolve an instance
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.InternalResolveException.#ctor(System.String)">
<summary>
An internal Error happened while the <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/> tried to resolve an instance
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException">
<summary>
The registration of a Factory is not valid
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException.#ctor(System.String)">
<summary>
The registration of a Factory is not valid
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Exceptions.InvalidRegistrationException">
<summary>
The registration is not valid
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.InvalidRegistrationException.#ctor(System.String)">
<summary>
The registration is not valid
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Exceptions.MultipleRegistrationException">
<summary>
The <see cref="T:System.Type"/> is already registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.MultipleRegistrationException.#ctor(System.Type)">
<summary>
The <see cref="T:System.Type"/> is already registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="type">The <see cref="T:System.Type"/> that is already registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="P:LightweightIocContainer.Exceptions.MultipleRegistrationException.Type">
<summary>
The registered <see cref="T:System.Type"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.MultitonResolveException">
<summary>
An error happened while trying to resolve a multiton
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.MultitonResolveException.#ctor(System.String,System.Type)">
<summary>
An error happened while trying to resolve a multiton
</summary>
<param name="message">The exception message</param>
<param name="type">The <see cref="T:System.Type"/> of the multiton that's responsible for the exception</param>
</member>
<member name="P:LightweightIocContainer.Exceptions.MultitonResolveException.Type">
<summary>
The <see cref="T:System.Type"/> of the multiton that's responsible for the exception
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.TypeNotRegisteredException">
<summary>
The <see cref="T:System.Type"/> is not registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.TypeNotRegisteredException.#ctor(System.Type)">
<summary>
The <see cref="T:System.Type"/> is not registered in this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="type">The unregistered <see cref="T:System.Type"/></param>
</member>
<member name="P:LightweightIocContainer.Exceptions.TypeNotRegisteredException.Type">
<summary>
The unregistered <see cref="T:System.Type"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Exceptions.UnknownRegistrationException">
<summary>
An unknown <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> was used
</summary>
</member>
<member name="M:LightweightIocContainer.Exceptions.UnknownRegistrationException.#ctor(System.String)">
<summary>
An unknown <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> was used
</summary>
<param name="message">The exception message</param>
</member>
<member name="T:LightweightIocContainer.Factories.TypedFactory`1">
<summary>
Class to help implement an abstract typed factory
</summary>
<typeparam name="TFactory">The type of the abstract factory</typeparam>
</member>
<member name="P:LightweightIocContainer.Factories.TypedFactory`1.Factory">
<summary>
The implemented abstract typed factory/>
</summary>
</member>
<member name="T:LightweightIocContainer.Installers.AssemblyInstaller">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> that installs all <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s for its given <see cref="T:System.Reflection.Assembly"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Installers.AssemblyInstaller.#ctor(System.Reflection.Assembly)">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> that installs all <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s for its given <see cref="T:System.Reflection.Assembly"/>
</summary>
<param name="assembly">The <see cref="T:System.Reflection.Assembly"/> from where the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s will be installed</param>
</member>
<member name="P:LightweightIocContainer.Installers.AssemblyInstaller.Installers">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s of the Assembly that this <see cref="T:LightweightIocContainer.Installers.AssemblyInstaller"/> is installing
</summary>
</member>
<member name="M:LightweightIocContainer.Installers.AssemblyInstaller.Install(LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
Install the found <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s in the given <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="container">The current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="T:LightweightIocContainer.Installers.FromAssembly">
<summary>
Helper class that supplies methods to find the wanted <see cref="T:System.Reflection.Assembly"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Installers.FromAssembly.This">
<summary>
Get an <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> that installs from the <see cref="T:System.Reflection.Assembly"/> calling the method
</summary>
<returns>A new <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> with the calling <see cref="T:System.Reflection.Assembly"/></returns>
</member>
<member name="M:LightweightIocContainer.Installers.FromAssembly.Instance(System.Reflection.Assembly)">
<summary>
Get an <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> that installs from the given <see cref="T:System.Reflection.Assembly"/>
</summary>
<param name="assembly">The given <see cref="T:System.Reflection.Assembly"/></param>
<returns>A new <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> with the given <see cref="T:System.Reflection.Assembly"/></returns>
</member>
<member name="T:LightweightIocContainer.Interfaces.Factories.ITypedFactory`1">
<summary>
Class to help implement an abstract typed factory
</summary>
<typeparam name="TFactory">The type of the abstract factory</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Factories.ITypedFactory`1.Factory">
<summary>
The implemented abstract typed factory
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.IIocContainer">
<summary>
The main container that carries all the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s and can resolve all the types you'll ever want
</summary>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Install(LightweightIocContainer.Interfaces.Installers.IIocInstaller[])">
<summary>
Install the given installers for the current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="installers">The given <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s</param>
<returns>An instance of the current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``2(LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``1(LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface/>
</summary>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> to register</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register``3">
<summary>
Register an Interface with a Type that implements it as a multiton/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it/>
</summary>
<param name="tInterface">The Interface to register</param>
<param name="tImplementation">The Type that implements the interface</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register(System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface/>
</summary>
<param name="tImplementation">The <see cref="T:System.Type"/> to register</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Register(System.Type,System.Type,System.Type)">
<summary>
Register an Interface with a Type that implements it as a multiton/>
</summary>
<param name="tInterface">The Interface to register</param>
<param name="tImplementation">The Type that implements the interface</param>
<param name="tScope">The Type of the multiton scope</param>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.RegisterFactory``1">
<summary>
Register an Interface as an abstract typed factory/>
</summary>
<typeparam name="TFactory">The abstract typed factory to register</typeparam>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.RegisterFactory(System.Type)">
<summary>
Register an Interface as an abstract typed factory/>
</summary>
<param name="tFactory">The abstract typed factory to register</param>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve``1(System.Object[])">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="arguments">The constructor arguments</param>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.Resolve(System.Type,System.Object[])">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<param name="type">The given <see cref="T:System.Type"/></param>
<param name="arguments">The constructor arguments</param>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InternalResolveException">Could not find function <see cref="M:LightweightIocContainer.IocContainer.ResolveInternal``1(System.Object[])"/></exception>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.ClearMultitonInstances``1">
<summary>
Clear the multiton instances of the given <see cref="T:System.Type"/> from the registered multitons list
</summary>
<typeparam name="T">The <see cref="T:System.Type"/> to clear the multiton instances</typeparam>
</member>
<member name="M:LightweightIocContainer.Interfaces.IIocContainer.IsTypeRegistered``1">
<summary>
Is the given <see cref="T:System.Type"/> registered with this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>True if the given <see cref="T:System.Type"/> is registered with this <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>, false if not</returns>
</member>
<member name="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller">
<summary>
An <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> that installs all <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s for its given <see cref="T:System.Reflection.Assembly"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller.Installers">
<summary>
The <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s of the <see cref="T:System.Reflection.Assembly"/> that this <see cref="T:LightweightIocContainer.Interfaces.Installers.IAssemblyInstaller"/> is installing
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller">
<summary>
The base class for <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/> installers
</summary>
</member>
<member name="M:LightweightIocContainer.Interfaces.Installers.IIocInstaller.Install(LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
Install the needed <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s in the given <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/>
</summary>
<param name="container">The current <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1">
<summary>
The default registration that is used to register a <see cref="T:System.Type"/> for the Interface it implements
</summary>
<typeparam name="TInterface">The registered Interface</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1.ImplementationType">
<summary>
The <see cref="T:System.Type"/> that implements the <see cref="P:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase.InterfaceType"/> that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1.Lifestyle">
<summary>
The Lifestyle of Instances that are created with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1.OnCreateAction">
<summary>
This <see cref="T:System.Action`1"/> is invoked when an instance of this type is created.
<para>Can be set in the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <see cref="M:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1.OnCreate(System.Action{`0})"/></para>
</summary>
</member>
<member name="M:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1.OnCreate(System.Action{`0})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this type is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></returns>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1">
<summary>
The registration that is used to register a multiton
</summary>
<typeparam name="TInterface">The registered interface</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1.Scope">
<summary>
The <see cref="T:System.Type"/> of the multiton scope
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase">
<summary>
The base registration that is used to register an Interface
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase.Name">
<summary>
The name of the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase.InterfaceType">
<summary>
The <see cref="T:System.Type"/> of the Interface that is registered with this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>
</summary>
</member>
<member name="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1">
<summary>
The registration that is used to register an abstract typed factory
</summary>
<typeparam name="TFactory">The type of the abstract typed factory</typeparam>
</member>
<member name="P:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1.Factory">
<summary>
The class that contains the implemented abstract factory of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
</summary>
</member>
<member name="T:LightweightIocContainer.IocContainer">
<summary>
The main container that carries all the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s and can resolve all the types you'll ever want
</summary>
</member>
<member name="M:LightweightIocContainer.IocContainer.#ctor">
<summary>
The constructor of the <see cref="T:LightweightIocContainer.IocContainer"/>
</summary>
</member>
<member name="M:LightweightIocContainer.IocContainer.Install(LightweightIocContainer.Interfaces.Installers.IIocInstaller[])">
<summary>
Install the given installers for the current <see cref="T:LightweightIocContainer.IocContainer"/>
</summary>
<param name="installers">The given <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/>s</param>
<returns>An instance of the current <see cref="T:LightweightIocContainer.IocContainer"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``2(LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``1(LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface/>
</summary>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> to register</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register``3">
<summary>
Register an Interface with a Type that implements it as a multiton/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it/>
</summary>
<param name="tInterface">The Interface to register</param>
<param name="tImplementation">The Type that implements the interface</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register(System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface/>
</summary>
<param name="tImplementation">The <see cref="T:System.Type"/> to register</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register(System.Type,System.Type,System.Type)">
<summary>
Register an Interface with a Type that implements it as a multiton/>
</summary>
<param name="tInterface">The Interface to register</param>
<param name="tImplementation">The Type that implements the interface</param>
<param name="tScope">The Type of the multiton scope</param>
</member>
<member name="M:LightweightIocContainer.IocContainer.RegisterFactory``1">
<summary>
Register an Interface as an abstract typed factory/>
</summary>
<typeparam name="TFactory">The abstract typed factory to register</typeparam>
</member>
<member name="M:LightweightIocContainer.IocContainer.RegisterFactory(System.Type)">
<summary>
Register an Interface as an abstract typed factory/>
</summary>
<param name="tFactory">The abstract typed factory to register</param>
</member>
<member name="M:LightweightIocContainer.IocContainer.Register(LightweightIocContainer.Interfaces.Registrations.IRegistrationBase)">
<summary>
Add the <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/> to the the <see cref="T:LightweightIocContainer.IocContainer"/>
</summary>
<param name="registration">The given <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/></param>
<exception cref="T:LightweightIocContainer.Exceptions.MultipleRegistrationException">The <see cref="T:System.Type"/> is already registered in this <see cref="T:LightweightIocContainer.IocContainer"/></exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.Resolve``1">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Resolve``1(System.Object[])">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="arguments">The constructor arguments</param>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Resolve(System.Type,System.Object[])">
<summary>
Gets an instance of the given <see cref="T:System.Type"/>
</summary>
<param name="type">The given <see cref="T:System.Type"/></param>
<param name="arguments">The constructor arguments</param>
<returns>An instance of the given <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.InternalResolveException">Could not find function <see cref="M:LightweightIocContainer.IocContainer.ResolveInternal``1(System.Object[])"/></exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.ResolveInternal``1(System.Object[])">
<summary>
Gets an instance of a given registered <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The registered <see cref="T:System.Type"/></typeparam>
<param name="arguments">The constructor arguments</param>
<returns>An instance of the given registered <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.TypeNotRegisteredException">The given <see cref="T:System.Type"/> is not registered in this <see cref="T:LightweightIocContainer.IocContainer"/></exception>
<exception cref="T:LightweightIocContainer.Exceptions.UnknownRegistrationException">The registration for the given <see cref="T:System.Type"/> has an unknown <see cref="T:System.Type"/></exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.GetOrCreateSingletonInstance``1(LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration{``0},System.Object[])">
<summary>
Gets or creates a singleton instance of a given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="registration">The registration of the given <see cref="T:System.Type"/></param>
<param name="arguments">The arguments to resolve</param>
<returns>An existing or newly created singleton instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.GetOrCreateMultitonInstance``1(LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration{``0},System.Object[])">
<summary>
Gets or creates a multiton instance of a given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="registration">The registration of the given <see cref="T:System.Type"/></param>
<param name="arguments">The arguments to resolve</param>
<returns>An existing or newly created multiton instance of the given <see cref="T:System.Type"/></returns>
<exception cref="T:LightweightIocContainer.Exceptions.MultitonResolveException">No arguments given</exception>
<exception cref="T:LightweightIocContainer.Exceptions.MultitonResolveException">Scope argument not given</exception>
</member>
<member name="M:LightweightIocContainer.IocContainer.CreateInstance``1(LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration{``0},System.Object[])">
<summary>
Creates an instance of a given <see cref="T:System.Type"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<param name="registration">The registration of the given <see cref="T:System.Type"/></param>
<param name="arguments">The constructor arguments</param>
<returns>A newly created instance of the given <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.ResolveConstructorArguments(System.Type,System.Object[])">
<summary>
Resolve the missing constructor arguments
</summary>
<param name="type">The <see cref="T:System.Type"/> that will be created</param>
<param name="arguments">The existing arguments</param>
<returns>An array of all needed constructor arguments to create the <see cref="T:System.Type"/></returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.ClearMultitonInstances``1">
<summary>
Clear the multiton instances of the given <see cref="T:System.Type"/> from the registered multitons list
</summary>
<typeparam name="T">The <see cref="T:System.Type"/> to clear the multiton instances</typeparam>
</member>
<member name="M:LightweightIocContainer.IocContainer.IsTypeRegistered``1">
<summary>
Is the given <see cref="T:System.Type"/> registered with this <see cref="T:LightweightIocContainer.IocContainer"/>
</summary>
<typeparam name="T">The given <see cref="T:System.Type"/></typeparam>
<returns>True if the given <see cref="T:System.Type"/> is registered with this <see cref="T:LightweightIocContainer.IocContainer"/>, false if not</returns>
</member>
<member name="M:LightweightIocContainer.IocContainer.Dispose">
<summary>
The <see cref="M:System.IDisposable.Dispose"/> method
</summary>
</member>
<member name="T:LightweightIocContainer.IocContainer.InternalResolvePlaceholder">
<summary>
An internal placeholder that is used during the resolving process
</summary>
</member>
<member name="T:LightweightIocContainer.Lifestyle">
<summary>
The Lifestyles that can be used for a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
</summary>
</member>
<member name="F:LightweightIocContainer.Lifestyle.Transient">
<summary>
A new instance gets created every time an instance is resolved
</summary>
</member>
<member name="F:LightweightIocContainer.Lifestyle.Singleton">
<summary>
One instance is created that gets returned every time an instance is resolved
</summary>
</member>
<member name="F:LightweightIocContainer.Lifestyle.Multiton">
<summary>
A new instance gets created if the given scope has no created instance yet. Otherwise the already created instance is used.
</summary>
</member>
<member name="T:LightweightIocContainer.Registrations.DefaultRegistration`1">
<summary>
The default registration that is used to register a <see cref="T:System.Type"/> for the Interface it implements
</summary>
<typeparam name="TInterface">The registered Interface</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.DefaultRegistration`1.#ctor(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
The default registration that is used to register a <see cref="T:System.Type"/> for the Interface it implements
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the Interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the Implementation</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> of the registration</param>
</member>
<member name="P:LightweightIocContainer.Registrations.DefaultRegistration`1.Name">
<summary>
The name of the <see cref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.DefaultRegistration`1.InterfaceType">
<summary>
The <see cref="T:System.Type"/> of the Interface that is registered with this <see cref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.DefaultRegistration`1.ImplementationType">
<summary>
The <see cref="T:System.Type"/> that implements the <see cref="P:LightweightIocContainer.Registrations.DefaultRegistration`1.InterfaceType"/> that is registered with this <see cref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.DefaultRegistration`1.Lifestyle">
<summary>
The <see cref="T:LightweightIocContainer.Lifestyle"/> of Instances that are created with this <see cref="T:LightweightIocContainer.Registrations.DefaultRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.DefaultRegistration`1.OnCreateAction">
<summary>
This <see cref="T:System.Action`1"/> is invoked when an instance of this type is created.
<para>Can be set in the <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> by calling <see cref="M:LightweightIocContainer.Registrations.DefaultRegistration`1.OnCreate(System.Action{`0})"/></para>
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.DefaultRegistration`1.OnCreate(System.Action{`0})">
<summary>
Pass an <see cref="T:System.Action`1"/> that will be invoked when an instance of this <see cref="T:System.Type"/> is created
</summary>
<param name="action">The <see cref="T:System.Action`1"/></param>
<returns>The current instance of this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></returns>
</member>
<member name="T:LightweightIocContainer.Registrations.MultitonRegistration`1">
<summary>
The registration that is used to register a multiton
</summary>
<typeparam name="TInterface">The registered interface</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.MultitonRegistration`1.#ctor(System.Type,System.Type,System.Type)">
<summary>
The registration that is used to register a multiton
</summary>
<param name="interfaceType">The <see cref="T:System.Type"/> of the Interface</param>
<param name="implementationType">The <see cref="T:System.Type"/> of the Implementation</param>
<param name="scope">The <see cref="T:System.Type"/> of the Multiton Scope</param>
</member>
<member name="P:LightweightIocContainer.Registrations.MultitonRegistration`1.Scope">
<summary>
The <see cref="T:System.Type"/> of the multiton scope
</summary>
</member>
<member name="T:LightweightIocContainer.Registrations.RegistrationFactory">
<summary>
A factory to register interfaces and factories in an <see cref="T:LightweightIocContainer.Interfaces.Installers.IIocInstaller"/> and create the needed <see cref="T:LightweightIocContainer.Interfaces.Registrations.IRegistrationBase"/>s
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``2(LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``1(LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
</summary>
<typeparam name="TImplementation">The <see cref="T:System.Type"/> to register</typeparam>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register``3">
<summary>
Register an Interface with a Type that implements it as a multiton and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1"/>
</summary>
<typeparam name="TInterface">The Interface to register</typeparam>
<typeparam name="TImplementation">The Type that implements the interface</typeparam>
<typeparam name="TScope">The Type of the multiton scope</typeparam>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register(System.Type,System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register an Interface with a Type that implements it and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
</summary>
<param name="tInterface">The Interface to register</param>
<param name="tImplementation">The Type that implements the interface</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register(System.Type,LightweightIocContainer.Lifestyle)">
<summary>
Register a <see cref="T:System.Type"/> without an interface and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/>
</summary>
<param name="tImplementation">The <see cref="T:System.Type"/> to register</param>
<param name="lifestyle">The <see cref="T:LightweightIocContainer.Lifestyle"/> for this <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/></param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IDefaultRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.Register(System.Type,System.Type,System.Type)">
<summary>
Register an Interface with a Type that implements it as a multiton and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1"/>
</summary>
<param name="tInterface">The Interface to register</param>
<param name="tImplementation">The Type that implements the interface</param>
<param name="tScope">The Type of the multiton scope</param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.IMultitonRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.RegisterFactory``1">
<summary>
Register an Interface as an abstract typed factory and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
</summary>
<typeparam name="TFactory">The abstract typed factory to register</typeparam>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/> with the given parameters</returns>
</member>
<member name="M:LightweightIocContainer.Registrations.RegistrationFactory.RegisterFactory(System.Type)">
<summary>
Register an Interface as an abstract typed factory and create a <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/>
</summary>
<param name="tFactory">The abstract typed factory to register</param>
<returns>A new created <see cref="T:LightweightIocContainer.Interfaces.Registrations.ITypedFactoryRegistration`1"/> with the given parameters</returns>
</member>
<member name="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1">
<summary>
The registration that is used to register an abstract typed factory
</summary>
<typeparam name="TFactory">The <see cref="T:System.Type"/> of the abstract typed factory</typeparam>
</member>
<member name="M:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.#ctor(System.Type,LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
The registration that is used to register an abstract typed factory
</summary>
<param name="factoryType">The <see cref="T:System.Type"/> of the abstract typed factory</param>
<param name="container">The current instance of the <see cref="T:LightweightIocContainer.Interfaces.IIocContainer"/></param>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.Name">
<summary>
The name of the <see cref="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.InterfaceType">
<summary>
The <see cref="T:System.Type"/> of the abstract typed factory that is registered with this <see cref="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1"/>
</summary>
</member>
<member name="P:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.Factory">
<summary>
The class that contains the implemented abstract factory of this <see cref="T:LightweightIocContainer.Registrations.TypedFactoryRegistration`1"/>
</summary>
</member>
<member name="M:LightweightIocContainer.Registrations.TypedFactoryRegistration`1.CreateFactory(LightweightIocContainer.Interfaces.IIocContainer)">
<summary>
Creates the factory from the given abstract factory type
</summary>
<exception cref="T:LightweightIocContainer.Exceptions.InvalidFactoryRegistrationException">Factory registration is invalid</exception>
<exception cref="T:LightweightIocContainer.Exceptions.IllegalAbstractMethodCreationException">Creation of abstract methods are illegal in their current state</exception>
</member>
<member name="M:LightweightIocContainer.TypeExtension.GetDefault(System.Type)">
<summary>
Returns the default value for a given <see cref="T:System.Type"/>
</summary>
<param name="type">The given <see cref="T:System.Type"/></param>
<returns>The default value for the given <see cref="T:System.Type"/></returns>
</member>
</members>
</doc>