From e1533140b292c92316a75af86afc3f70917e5078 Mon Sep 17 00:00:00 2001 From: Simon Gockner Date: Tue, 2 Jul 2019 15:58:37 +0200 Subject: [PATCH] - refactoring of xml comments --- .../IllegalAbstractMethodCreationException.cs | 5 + .../Exceptions/InternalResolveException.cs | 4 + .../InvalidFactoryRegistrationException.cs | 4 + .../InvalidRegistrationException.cs | 4 + .../MultipleRegistrationException.cs | 8 +- .../Exceptions/MultitonResolveException.cs | 7 +- .../Exceptions/TypeNotRegisteredException.cs | 8 +- .../UnknownRegistrationException.cs | 4 + .../Installers/AssemblyInstaller.cs | 4 + .../Interfaces/IIocContainer.cs | 24 +- .../Installers/IAssemblyInstaller.cs | 2 +- .../Registrations/IDefaultRegistration.cs | 10 +- .../Registrations/IMultitonRegistration.cs | 2 +- .../Registrations/IRegistrationBase.cs | 2 +- LightweightIocContainer/IocContainer.cs | 65 ++--- .../LightweightIocContainer.xml | 224 ++++++++++++------ .../Registrations/DefaultRegistration.cs | 21 +- .../Registrations/MultitonRegistration.cs | 8 +- .../Registrations/RegistrationFactory.cs | 8 +- .../Registrations/TypedFactoryRegistration.cs | 11 +- .../IocContainerTest.cs | 1 - 21 files changed, 283 insertions(+), 143 deletions(-) diff --git a/LightweightIocContainer/Exceptions/IllegalAbstractMethodCreationException.cs b/LightweightIocContainer/Exceptions/IllegalAbstractMethodCreationException.cs index 88034cf..3191e23 100644 --- a/LightweightIocContainer/Exceptions/IllegalAbstractMethodCreationException.cs +++ b/LightweightIocContainer/Exceptions/IllegalAbstractMethodCreationException.cs @@ -12,6 +12,11 @@ namespace LightweightIocContainer.Exceptions /// public class IllegalAbstractMethodCreationException : Exception { + /// + /// The creation of the abstract method is illegal in its current state + /// + /// The exception message + /// The method that is illegal to create public IllegalAbstractMethodCreationException(string message, MethodInfo method) : base(message) { diff --git a/LightweightIocContainer/Exceptions/InternalResolveException.cs b/LightweightIocContainer/Exceptions/InternalResolveException.cs index 1413e2e..4c4aa9a 100644 --- a/LightweightIocContainer/Exceptions/InternalResolveException.cs +++ b/LightweightIocContainer/Exceptions/InternalResolveException.cs @@ -12,6 +12,10 @@ namespace LightweightIocContainer.Exceptions /// public class InternalResolveException : Exception { + /// + /// An internal Error happened while the tried to resolve an instance + /// + /// The exception message public InternalResolveException(string message) : base(message) { diff --git a/LightweightIocContainer/Exceptions/InvalidFactoryRegistrationException.cs b/LightweightIocContainer/Exceptions/InvalidFactoryRegistrationException.cs index 9e8d644..aaa0680 100644 --- a/LightweightIocContainer/Exceptions/InvalidFactoryRegistrationException.cs +++ b/LightweightIocContainer/Exceptions/InvalidFactoryRegistrationException.cs @@ -9,6 +9,10 @@ namespace LightweightIocContainer.Exceptions /// public class InvalidFactoryRegistrationException : InvalidRegistrationException { + /// + /// The registration of a Factory is not valid + /// + /// The exception message public InvalidFactoryRegistrationException(string message) : base(message) { diff --git a/LightweightIocContainer/Exceptions/InvalidRegistrationException.cs b/LightweightIocContainer/Exceptions/InvalidRegistrationException.cs index 718dd53..e8d847e 100644 --- a/LightweightIocContainer/Exceptions/InvalidRegistrationException.cs +++ b/LightweightIocContainer/Exceptions/InvalidRegistrationException.cs @@ -11,6 +11,10 @@ namespace LightweightIocContainer.Exceptions /// public class InvalidRegistrationException : Exception { + /// + /// The registration is not valid + /// + /// The exception message public InvalidRegistrationException(string message) : base(message) { diff --git a/LightweightIocContainer/Exceptions/MultipleRegistrationException.cs b/LightweightIocContainer/Exceptions/MultipleRegistrationException.cs index 2b7eba0..eaf8c9a 100644 --- a/LightweightIocContainer/Exceptions/MultipleRegistrationException.cs +++ b/LightweightIocContainer/Exceptions/MultipleRegistrationException.cs @@ -8,10 +8,14 @@ using LightweightIocContainer.Interfaces; namespace LightweightIocContainer.Exceptions { /// - /// The Type is already registered in this + /// The is already registered in this /// public class MultipleRegistrationException : Exception { + /// + /// The is already registered in this + /// + /// The that is already registered in this public MultipleRegistrationException(Type type) : base($"Type {type.Name} is already registered in this IocContainer.") { @@ -19,7 +23,7 @@ namespace LightweightIocContainer.Exceptions } /// - /// The registered Type + /// The registered /// public Type Type { get; } } diff --git a/LightweightIocContainer/Exceptions/MultitonResolveException.cs b/LightweightIocContainer/Exceptions/MultitonResolveException.cs index 057693f..860f6ec 100644 --- a/LightweightIocContainer/Exceptions/MultitonResolveException.cs +++ b/LightweightIocContainer/Exceptions/MultitonResolveException.cs @@ -11,6 +11,11 @@ namespace LightweightIocContainer.Exceptions /// public class MultitonResolveException : InternalResolveException { + /// + /// An error happened while trying to resolve a multiton + /// + /// The exception message + /// The of the multiton that's responsible for the exception public MultitonResolveException(string message, Type type) : base(message) { @@ -18,7 +23,7 @@ namespace LightweightIocContainer.Exceptions } /// - /// The type of the multiton that's responsible for the exception + /// The of the multiton that's responsible for the exception /// public Type Type { get; } } diff --git a/LightweightIocContainer/Exceptions/TypeNotRegisteredException.cs b/LightweightIocContainer/Exceptions/TypeNotRegisteredException.cs index 0e89e22..4cb0cc9 100644 --- a/LightweightIocContainer/Exceptions/TypeNotRegisteredException.cs +++ b/LightweightIocContainer/Exceptions/TypeNotRegisteredException.cs @@ -8,10 +8,14 @@ using LightweightIocContainer.Interfaces; namespace LightweightIocContainer.Exceptions { /// - /// The Type is not registered in this + /// The is not registered in this /// public class TypeNotRegisteredException : Exception { + /// + /// The is not registered in this + /// + /// The unregistered public TypeNotRegisteredException(Type type) : base($"Type {type.Name} is not registered in this IocContainer.") { @@ -19,7 +23,7 @@ namespace LightweightIocContainer.Exceptions } /// - /// The unregistered Type + /// The unregistered /// public Type Type { get; } } diff --git a/LightweightIocContainer/Exceptions/UnknownRegistrationException.cs b/LightweightIocContainer/Exceptions/UnknownRegistrationException.cs index 0e78369..8d213c4 100644 --- a/LightweightIocContainer/Exceptions/UnknownRegistrationException.cs +++ b/LightweightIocContainer/Exceptions/UnknownRegistrationException.cs @@ -12,6 +12,10 @@ namespace LightweightIocContainer.Exceptions /// public class UnknownRegistrationException : Exception { + /// + /// An unknown was used + /// + /// The exception message public UnknownRegistrationException(string message) : base(message) { diff --git a/LightweightIocContainer/Installers/AssemblyInstaller.cs b/LightweightIocContainer/Installers/AssemblyInstaller.cs index 1d51cef..8a05534 100644 --- a/LightweightIocContainer/Installers/AssemblyInstaller.cs +++ b/LightweightIocContainer/Installers/AssemblyInstaller.cs @@ -15,6 +15,10 @@ namespace LightweightIocContainer.Installers /// public class AssemblyInstaller : IAssemblyInstaller { + /// + /// An that installs all s for its given + /// + /// The from where the s will be installed public AssemblyInstaller(Assembly assembly) { Installers = new List(); diff --git a/LightweightIocContainer/Interfaces/IIocContainer.cs b/LightweightIocContainer/Interfaces/IIocContainer.cs index ff23b00..dc2b850 100644 --- a/LightweightIocContainer/Interfaces/IIocContainer.cs +++ b/LightweightIocContainer/Interfaces/IIocContainer.cs @@ -25,37 +25,37 @@ namespace LightweightIocContainer.Interfaces /// Add the to the the /// /// The given - /// The Type is already registered in this + /// The is already registered in this void Register(IRegistrationBase registration); /// - /// Gets an instance of the given type + /// Gets an instance of the given /// - /// The given type - /// An instance of the given type + /// The given + /// An instance of the given T Resolve(); /// - /// Gets an instance of the given type + /// Gets an instance of the given /// - /// The given type + /// The given /// The constructor arguments - /// An instance of the given type + /// An instance of the given T Resolve(params object[] arguments); /// - /// Gets an instance of the given type + /// Gets an instance of the given /// - /// The given type + /// The given /// The constructor arguments - /// An instance of the given type + /// An instance of the given /// Could not find function object Resolve(Type type, object[] arguments); /// - /// Clear the multiton instances of the given type from the registered multitons list + /// Clear the multiton instances of the given from the registered multitons list /// - /// The Type to clear the multiton instances + /// The to clear the multiton instances void ClearMultitonInstances(); } } \ No newline at end of file diff --git a/LightweightIocContainer/Interfaces/Installers/IAssemblyInstaller.cs b/LightweightIocContainer/Interfaces/Installers/IAssemblyInstaller.cs index db0fe06..250119d 100644 --- a/LightweightIocContainer/Interfaces/Installers/IAssemblyInstaller.cs +++ b/LightweightIocContainer/Interfaces/Installers/IAssemblyInstaller.cs @@ -13,7 +13,7 @@ namespace LightweightIocContainer.Interfaces.Installers public interface IAssemblyInstaller : IIocInstaller { /// - /// The s of the Assembly that this is installing + /// The s of the that this is installing /// List Installers { get; } } diff --git a/LightweightIocContainer/Interfaces/Registrations/IDefaultRegistration.cs b/LightweightIocContainer/Interfaces/Registrations/IDefaultRegistration.cs index 184209d..6c57fd4 100644 --- a/LightweightIocContainer/Interfaces/Registrations/IDefaultRegistration.cs +++ b/LightweightIocContainer/Interfaces/Registrations/IDefaultRegistration.cs @@ -8,13 +8,13 @@ using LightweightIocContainer.Interfaces.Installers; namespace LightweightIocContainer.Interfaces.Registrations { /// - /// The default registration that is used to register a Type for the Interface it implements + /// The default registration that is used to register a for the Interface it implements /// /// The registered Interface public interface IDefaultRegistration : IRegistrationBase { /// - /// The Type that implements the that is registered with this + /// The that implements the that is registered with this /// Type ImplementationType { get; } @@ -24,15 +24,15 @@ namespace LightweightIocContainer.Interfaces.Registrations Lifestyle Lifestyle { get; } /// - /// This action is invoked when an instance of this type is created. + /// This is invoked when an instance of this type is created. /// Can be set in the by calling /// Action OnCreateAction { get; } /// - /// Pass an action that will be invoked when an instance of this type is created + /// Pass an that will be invoked when an instance of this type is created /// - /// The action + /// The /// The current instance of this IDefaultRegistration OnCreate(Action action); } diff --git a/LightweightIocContainer/Interfaces/Registrations/IMultitonRegistration.cs b/LightweightIocContainer/Interfaces/Registrations/IMultitonRegistration.cs index 54927e9..4a7e5a5 100644 --- a/LightweightIocContainer/Interfaces/Registrations/IMultitonRegistration.cs +++ b/LightweightIocContainer/Interfaces/Registrations/IMultitonRegistration.cs @@ -13,7 +13,7 @@ namespace LightweightIocContainer.Interfaces.Registrations public interface IMultitonRegistration : IDefaultRegistration { /// - /// The type of the multiton scope + /// The of the multiton scope /// Type Scope { get; } } diff --git a/LightweightIocContainer/Interfaces/Registrations/IRegistrationBase.cs b/LightweightIocContainer/Interfaces/Registrations/IRegistrationBase.cs index 1b8e176..cc39e41 100644 --- a/LightweightIocContainer/Interfaces/Registrations/IRegistrationBase.cs +++ b/LightweightIocContainer/Interfaces/Registrations/IRegistrationBase.cs @@ -17,7 +17,7 @@ namespace LightweightIocContainer.Interfaces.Registrations string Name { get; } /// - /// The Type of the Interface that is registered with this + /// The of the Interface that is registered with this /// Type InterfaceType { get; } } diff --git a/LightweightIocContainer/IocContainer.cs b/LightweightIocContainer/IocContainer.cs index 256d929..f6f6610 100644 --- a/LightweightIocContainer/IocContainer.cs +++ b/LightweightIocContainer/IocContainer.cs @@ -42,7 +42,7 @@ namespace LightweightIocContainer /// Add the to the the /// /// The given - /// The Type is already registered in this + /// The is already registered in this public void Register(IRegistrationBase registration) { //if type is already registered @@ -53,32 +53,32 @@ namespace LightweightIocContainer } /// - /// Gets an instance of the given type + /// Gets an instance of the given /// - /// The given type - /// An instance of the given type + /// The given + /// An instance of the given public T Resolve() { return ResolveInternal(null); } /// - /// Gets an instance of the given type + /// Gets an instance of the given /// - /// The given type + /// The given /// The constructor arguments - /// An instance of the given type + /// An instance of the given public T Resolve(params object[] arguments) { return ResolveInternal(arguments); } /// - /// Gets an instance of the given type + /// Gets an instance of the given /// - /// The given type + /// The given /// The constructor arguments - /// An instance of the given type + /// An instance of the given /// Could not find function public object Resolve(Type type, object[] arguments) { @@ -92,13 +92,13 @@ namespace LightweightIocContainer } /// - /// Gets an instance of a given registered type + /// Gets an instance of a given registered /// - /// The registered type + /// The registered /// The constructor arguments - /// An instance of the given registered type - /// The given type is not registered in this - /// The registration for the given type has an unknown type + /// An instance of the given registered + /// The given is not registered in this + /// The registration for the given has an unknown private T ResolveInternal(params object[] arguments) { IRegistrationBase registration = _registrations.FirstOrDefault(r => r.InterfaceType == typeof(T)); @@ -123,12 +123,12 @@ namespace LightweightIocContainer } /// - /// Gets or creates a singleton instance of a given type + /// Gets or creates a singleton instance of a given /// - /// The given type - /// The registration of the given type + /// The given + /// The registration of the given /// The arguments to resolve - /// An existing or newly created singleton instance of the given type + /// An existing or newly created singleton instance of the given private T GetOrCreateSingletonInstance(IDefaultRegistration registration, params object[] arguments) { //if a singleton instance exists return it @@ -144,12 +144,12 @@ namespace LightweightIocContainer } /// - /// Gets or creates a multiton instance of a given type + /// Gets or creates a multiton instance of a given /// - /// The given type - /// The registration of the given type + /// The given + /// The registration of the given /// The arguments to resolve - /// An existing or newly created multiton instance of the given type + /// An existing or newly created multiton instance of the given /// No arguments given /// Scope argument not given private T GetOrCreateMultitonInstance(IMultitonRegistration registration, params object[] arguments) @@ -182,12 +182,12 @@ namespace LightweightIocContainer } /// - /// Creates an instance of a given type + /// Creates an instance of a given /// - /// The given type - /// The registration of the given type + /// The given + /// The registration of the given /// The constructor arguments - /// A newly created instance of the given type + /// A newly created instance of the given private T CreateInstance(IDefaultRegistration registration, params object[] arguments) { arguments = ResolveConstructorArguments(registration.ImplementationType, arguments); @@ -200,9 +200,9 @@ namespace LightweightIocContainer /// /// Resolve the missing constructor arguments /// - /// The type that will be created + /// The that will be created /// The existing arguments - /// An array of all needed constructor arguments to create + /// An array of all needed constructor arguments to create the [CanBeNull] private object[] ResolveConstructorArguments(Type type, object[] arguments) { @@ -266,9 +266,9 @@ namespace LightweightIocContainer } /// - /// Clear the multiton instances of the given type from the registered multitons list + /// Clear the multiton instances of the given from the registered multitons list /// - /// The Type to clear the multiton instances + /// The to clear the multiton instances public void ClearMultitonInstances() { var multitonInstance = _multitons.FirstOrDefault(m => m.type == typeof(T)); @@ -280,6 +280,9 @@ namespace LightweightIocContainer _multitons.Remove(multitonInstance); } + /// + /// The method + /// public void Dispose() { _registrations.Clear(); diff --git a/LightweightIocContainer/LightweightIocContainer.xml b/LightweightIocContainer/LightweightIocContainer.xml index 0fdeec7..7fd664e 100644 --- a/LightweightIocContainer/LightweightIocContainer.xml +++ b/LightweightIocContainer/LightweightIocContainer.xml @@ -38,6 +38,13 @@ The creation of the abstract method is illegal in its current state + + + The creation of the abstract method is illegal in its current state + + The exception message + The method that is illegal to create + The Method whose creation is illegal @@ -48,24 +55,48 @@ An internal Error happened while the tried to resolve an instance + + + An internal Error happened while the tried to resolve an instance + + The exception message + The registration of a Factory is not valid + + + The registration of a Factory is not valid + + The exception message + The registration is not valid + + + The registration is not valid + + The exception message + - The Type is already registered in this + The is already registered in this + + + The is already registered in this + + The that is already registered in this + - The registered Type + The registered @@ -73,19 +104,32 @@ An error happened while trying to resolve a multiton + + + An error happened while trying to resolve a multiton + + The exception message + The of the multiton that's responsible for the exception + - The type of the multiton that's responsible for the exception + The of the multiton that's responsible for the exception - The Type is not registered in this + The is not registered in this + + + + + The is not registered in this + The unregistered - The unregistered Type + The unregistered @@ -93,6 +137,12 @@ An unknown was used + + + An unknown was used + + The exception message + Class to help implement an abstract typed factory @@ -109,6 +159,12 @@ An that installs all s for its given + + + An that installs all s for its given + + The from where the s will be installed + The s of the Assembly that this is installing @@ -166,37 +222,37 @@ Add the to the the The given - The Type is already registered in this + The is already registered in this - Gets an instance of the given type + Gets an instance of the given - The given type - An instance of the given type + The given + An instance of the given - Gets an instance of the given type + Gets an instance of the given - The given type + The given The constructor arguments - An instance of the given type + An instance of the given - Gets an instance of the given type + Gets an instance of the given - The given type + The given The constructor arguments - An instance of the given type + An instance of the given Could not find function - Clear the multiton instances of the given type from the registered multitons list + Clear the multiton instances of the given from the registered multitons list - The Type to clear the multiton instances + The to clear the multiton instances @@ -205,7 +261,7 @@ - The s of the Assembly that this is installing + The s of the that this is installing @@ -221,13 +277,13 @@ - The default registration that is used to register a Type for the Interface it implements + The default registration that is used to register a for the Interface it implements The registered Interface - The Type that implements the that is registered with this + The that implements the that is registered with this @@ -237,15 +293,15 @@ - This action is invoked when an instance of this type is created. + This is invoked when an instance of this type is created. Can be set in the by calling - Pass an action that will be invoked when an instance of this type is created + Pass an that will be invoked when an instance of this type is created - The action + The The current instance of this @@ -256,7 +312,7 @@ - The type of the multiton scope + The of the multiton scope @@ -271,7 +327,7 @@ - The Type of the Interface that is registered with this + The of the Interface that is registered with this @@ -302,84 +358,89 @@ Add the to the the The given - The Type is already registered in this + The is already registered in this - Gets an instance of the given type + Gets an instance of the given - The given type - An instance of the given type + The given + An instance of the given - Gets an instance of the given type + Gets an instance of the given - The given type + The given The constructor arguments - An instance of the given type + An instance of the given - Gets an instance of the given type + Gets an instance of the given - The given type + The given The constructor arguments - An instance of the given type + An instance of the given Could not find function - Gets an instance of a given registered type + Gets an instance of a given registered - The registered type + The registered The constructor arguments - An instance of the given registered type - The given type is not registered in this - The registration for the given type has an unknown type + An instance of the given registered + The given is not registered in this + The registration for the given has an unknown - Gets or creates a singleton instance of a given type + Gets or creates a singleton instance of a given - The given type - The registration of the given type + The given + The registration of the given The arguments to resolve - An existing or newly created singleton instance of the given type + An existing or newly created singleton instance of the given - Gets or creates a multiton instance of a given type + Gets or creates a multiton instance of a given - The given type - The registration of the given type + The given + The registration of the given The arguments to resolve - An existing or newly created multiton instance of the given type + An existing or newly created multiton instance of the given No arguments given Scope argument not given - Creates an instance of a given type + Creates an instance of a given - The given type - The registration of the given type + The given + The registration of the given The constructor arguments - A newly created instance of the given type + A newly created instance of the given Resolve the missing constructor arguments - The type that will be created + The that will be created The existing arguments - An array of all needed constructor arguments to create + An array of all needed constructor arguments to create the - Clear the multiton instances of the given type from the registered multitons list + Clear the multiton instances of the given from the registered multitons list + + The to clear the multiton instances + + + + The method - The Type to clear the multiton instances @@ -408,10 +469,18 @@ - The default registration that is used to register a Type for the Interface it implements + The default registration that is used to register a for the Interface it implements The registered Interface + + + The default registration that is used to register a for the Interface it implements + + The of the Interface + The of the Implementation + The of the registration + The name of the @@ -419,30 +488,30 @@ - The Type of the Interface that is registered with this + The of the Interface that is registered with this - The Type that implements the that is registered with this + The that implements the that is registered with this - The Lifestyle of Instances that are created with this + The of Instances that are created with this - This action is invoked when an instance of this type is created. + This is invoked when an instance of this type is created. Can be set in the by calling - Pass an action that will be invoked when an instance of this type is created + Pass an that will be invoked when an instance of this is created - The action + The The current instance of this @@ -451,9 +520,17 @@ The registered interface + + + The registration that is used to register a multiton + + The of the Interface + The of the Implementation + The of the Multiton Scope + - The type of the multiton scope + The of the multiton scope @@ -466,7 +543,7 @@ Register an Interface with a Type that implements it and create a The Interface to register - The Type that implements the + The Type that implements the interface The for this A new created with the given parameters @@ -475,7 +552,7 @@ Register an Interface with a Type that implements it as a multiton and create a The Interface to register - The Type that implements the + The Type that implements the interface The Type of the multiton scope A new created with the given parameters @@ -484,7 +561,7 @@ Register an Interface with a Type that implements it and create a The Interface to register - The Type that implements the + The Type that implements the interface The for this A new created with the given parameters @@ -493,7 +570,7 @@ Register an Interface with a Type that implements it as a multiton and create a The Interface to register - The Type that implements the + The Type that implements the interface The Type of the multiton scope A new created with the given parameters @@ -517,7 +594,14 @@ The registration that is used to register an abstract typed factory - The type of the abstract typed factory + The of the abstract typed factory + + + + The registration that is used to register an abstract typed factory + + The of the abstract typed factory + The current instance of the @@ -526,7 +610,7 @@ - The Type of the abstract typed factory that is registered with this + The of the abstract typed factory that is registered with this diff --git a/LightweightIocContainer/Registrations/DefaultRegistration.cs b/LightweightIocContainer/Registrations/DefaultRegistration.cs index cb0f0c3..9aa0b34 100644 --- a/LightweightIocContainer/Registrations/DefaultRegistration.cs +++ b/LightweightIocContainer/Registrations/DefaultRegistration.cs @@ -3,18 +3,23 @@ // Copyright(c) 2019 SimonG. All Rights Reserved. using System; -using LightweightIocContainer.Interfaces; using LightweightIocContainer.Interfaces.Installers; using LightweightIocContainer.Interfaces.Registrations; namespace LightweightIocContainer.Registrations { /// - /// The default registration that is used to register a Type for the Interface it implements + /// The default registration that is used to register a for the Interface it implements /// /// The registered Interface public class DefaultRegistration : IDefaultRegistration { + /// + /// The default registration that is used to register a for the Interface it implements + /// + /// The of the Interface + /// The of the Implementation + /// The of the registration public DefaultRegistration(Type interfaceType, Type implementationType, Lifestyle lifestyle) { InterfaceType = interfaceType; @@ -30,32 +35,32 @@ namespace LightweightIocContainer.Registrations public string Name { get; } /// - /// The Type of the Interface that is registered with this + /// The of the Interface that is registered with this /// public Type InterfaceType { get; } /// - /// The Type that implements the that is registered with this + /// The that implements the that is registered with this /// public Type ImplementationType { get; } /// - /// The Lifestyle of Instances that are created with this + /// The of Instances that are created with this /// public Lifestyle Lifestyle { get; } /// - /// This action is invoked when an instance of this type is created. + /// This is invoked when an instance of this type is created. /// Can be set in the by calling /// public Action OnCreateAction { get; private set; } /// - /// Pass an action that will be invoked when an instance of this type is created + /// Pass an that will be invoked when an instance of this is created /// - /// The action + /// The /// The current instance of this public IDefaultRegistration OnCreate(Action action) { diff --git a/LightweightIocContainer/Registrations/MultitonRegistration.cs b/LightweightIocContainer/Registrations/MultitonRegistration.cs index 92e8694..f253075 100644 --- a/LightweightIocContainer/Registrations/MultitonRegistration.cs +++ b/LightweightIocContainer/Registrations/MultitonRegistration.cs @@ -13,6 +13,12 @@ namespace LightweightIocContainer.Registrations /// The registered interface public class MultitonRegistration : DefaultRegistration, IMultitonRegistration { + /// + /// The registration that is used to register a multiton + /// + /// The of the Interface + /// The of the Implementation + /// The of the Multiton Scope public MultitonRegistration(Type interfaceType, Type implementationType, Type scope) : base(interfaceType, implementationType, Lifestyle.Multiton) { @@ -20,7 +26,7 @@ namespace LightweightIocContainer.Registrations } /// - /// The type of the multiton scope + /// The of the multiton scope /// public Type Scope { get; } } diff --git a/LightweightIocContainer/Registrations/RegistrationFactory.cs b/LightweightIocContainer/Registrations/RegistrationFactory.cs index 9b59a29..7aded86 100644 --- a/LightweightIocContainer/Registrations/RegistrationFactory.cs +++ b/LightweightIocContainer/Registrations/RegistrationFactory.cs @@ -18,7 +18,7 @@ namespace LightweightIocContainer.Registrations /// Register an Interface with a Type that implements it and create a /// /// The Interface to register - /// The Type that implements the + /// The Type that implements the interface /// The for this /// A new created with the given parameters public static IDefaultRegistration Register(Lifestyle lifestyle = Lifestyle.Transient) where TImplementation : TInterface @@ -30,7 +30,7 @@ namespace LightweightIocContainer.Registrations /// Register an Interface with a Type that implements it as a multiton and create a /// /// The Interface to register - /// The Type that implements the + /// The Type that implements the interface /// The Type of the multiton scope /// A new created with the given parameters public static IMultitonRegistration Register() where TImplementation : TInterface @@ -42,7 +42,7 @@ namespace LightweightIocContainer.Registrations /// Register an Interface with a Type that implements it and create a /// /// The Interface to register - /// The Type that implements the + /// The Type that implements the interface /// The for this /// A new created with the given parameters public static IRegistrationBase Register(Type tInterface, Type tImplementation, Lifestyle lifestyle = Lifestyle.Transient) @@ -55,7 +55,7 @@ namespace LightweightIocContainer.Registrations /// Register an Interface with a Type that implements it as a multiton and create a /// /// The Interface to register - /// The Type that implements the + /// The Type that implements the interface /// The Type of the multiton scope /// A new created with the given parameters public static IRegistrationBase Register(Type tInterface, Type tImplementation, Type tScope) diff --git a/LightweightIocContainer/Registrations/TypedFactoryRegistration.cs b/LightweightIocContainer/Registrations/TypedFactoryRegistration.cs index e85de8c..9bd4fde 100644 --- a/LightweightIocContainer/Registrations/TypedFactoryRegistration.cs +++ b/LightweightIocContainer/Registrations/TypedFactoryRegistration.cs @@ -18,11 +18,16 @@ namespace LightweightIocContainer.Registrations /// /// The registration that is used to register an abstract typed factory /// - /// The type of the abstract typed factory + /// The of the abstract typed factory public class TypedFactoryRegistration : ITypedFactoryRegistration { private const string CLEAR_MULTITON_INSTANCE_METHOD_NAME = "ClearMultitonInstance"; + /// + /// The registration that is used to register an abstract typed factory + /// + /// The of the abstract typed factory + /// The current instance of the public TypedFactoryRegistration(Type factoryType, IIocContainer container) { InterfaceType = factoryType; @@ -37,7 +42,7 @@ namespace LightweightIocContainer.Registrations public string Name { get; } /// - /// The Type of the abstract typed factory that is registered with this + /// The of the abstract typed factory that is registered with this /// public Type InterfaceType { get; } @@ -127,7 +132,7 @@ namespace LightweightIocContainer.Registrations #endif } - generator.EmitCall(OpCodes.Callvirt, typeof(IIocContainer).GetMethod(nameof(IIocContainer.Resolve), new[] { typeof(Type), typeof(object[])}), null); + generator.EmitCall(OpCodes.Callvirt, typeof(IIocContainer).GetMethod(nameof(IIocContainer.Resolve), new[] {typeof(Type), typeof(object[])}), null); generator.Emit(OpCodes.Castclass, createMethod.ReturnType); generator.Emit(OpCodes.Ret); } diff --git a/Test.LightweightIocContainer/IocContainerTest.cs b/Test.LightweightIocContainer/IocContainerTest.cs index 1f26bfd..266dc62 100644 --- a/Test.LightweightIocContainer/IocContainerTest.cs +++ b/Test.LightweightIocContainer/IocContainerTest.cs @@ -1,4 +1,3 @@ -using System; using JetBrains.Annotations; using LightweightIocContainer; using LightweightIocContainer.Exceptions;