diff --git a/LightweightIocContainer/Interfaces/Registrations/ITypedRegistrationBase.cs b/LightweightIocContainer/Interfaces/Registrations/ITypedRegistrationBase.cs new file mode 100644 index 0000000..27728d9 --- /dev/null +++ b/LightweightIocContainer/Interfaces/Registrations/ITypedRegistrationBase.cs @@ -0,0 +1,19 @@ +// Author: Simon Gockner +// Created: 2019-12-08 +// Copyright(c) 2019 SimonG. All Rights Reserved. + +using System; + +namespace LightweightIocContainer.Interfaces.Registrations +{ + /// + /// A that implements a + /// + public interface ITypedRegistrationBase : IRegistrationBase + { + /// + /// The that implements the that is registered with this + /// + Type ImplementationType { get; } + } +} \ No newline at end of file diff --git a/LightweightIocContainer/Registrations/TypedRegistrationBase.cs b/LightweightIocContainer/Registrations/TypedRegistrationBase.cs new file mode 100644 index 0000000..f9efe26 --- /dev/null +++ b/LightweightIocContainer/Registrations/TypedRegistrationBase.cs @@ -0,0 +1,32 @@ +// Author: Simon Gockner +// Created: 2019-12-14 +// Copyright(c) 2019 SimonG. All Rights Reserved. + +using System; +using LightweightIocContainer.Interfaces.Registrations; + +namespace LightweightIocContainer.Registrations +{ + /// + /// A that implements a + /// + public abstract class TypedRegistrationBase : RegistrationBase, ITypedRegistrationBase + { + /// + /// A that implements a + /// + /// The of the interface + /// The of the implementation type + /// The of this + protected TypedRegistrationBase(Type interfaceType, Type implementationType, Lifestyle lifestyle) + : base(interfaceType, lifestyle) + { + ImplementationType = implementationType; + } + + /// + /// The that implements the that is registered with this + /// + public Type ImplementationType { get; } + } +} \ No newline at end of file