@ -7,15 +7,15 @@ using System.Collections.Generic;
using LightweightIocContainer.Interfaces ;
using LightweightIocContainer.Interfaces.Registrations ;
namespace LightweightIocContainer.Registrations
namespace LightweightIocContainer.Registrations ;
/// <summary>
/// The base class for every <see cref="IMultipleRegistration{TInterface1,TInterface2, TImplementation}"/> to register multiple interfaces
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal abstract class MultipleRegistration < TInterface1 , TImplementation > : TypedRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TImplementation > where TImplementation : TInterface1
{
/// <summary>
/// The base class for every <see cref="IMultipleRegistration{TInterface1,TInterface2, TImplementation}"/> to register multiple interfaces
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal abstract class MultipleRegistration < TInterface1 , TImplementation > : TypedRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TImplementation > where TImplementation : TInterface1
{
/// <summary>
/// The base class for every <see cref="IMultipleRegistration{TInterface1,TInterface2}"/> to register multiple interfaces
/// </summary>
@ -31,16 +31,16 @@ namespace LightweightIocContainer.Registrations
/// A <see cref="List{T}"/> of <see cref="IRegistration"/>s that are registered within this <see cref="MultipleRegistration{TInterface1,TInterface2}"/>
/// </summary>
public List < IRegistration > Registrations { get ; protected init ; }
}
}
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TImplementation > where TImplementation : TInterface1 , TInterface2
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TImplementation > where TImplementation : TInterface1 , TInterface2
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
@ -76,17 +76,17 @@ namespace LightweightIocContainer.Registrations
return this ;
}
}
}
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TInterface3">The third interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TImplementation > where TImplementation : TInterface3 , TInterface2 , TInterface1
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TInterface3">The third interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TImplementation > where TImplementation : TInterface3 , TInterface2 , TInterface1
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
@ -126,18 +126,18 @@ namespace LightweightIocContainer.Registrations
return this ;
}
}
}
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TInterface3">The third interface</typeparam>
/// <typeparam name="TInterface4">The fourth interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TImplementation > where TImplementation : TInterface4 , TInterface3 , TInterface2 , TInterface1
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TInterface3">The third interface</typeparam>
/// <typeparam name="TInterface4">The fourth interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TImplementation > where TImplementation : TInterface4 , TInterface3 , TInterface2 , TInterface1
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
@ -181,19 +181,19 @@ namespace LightweightIocContainer.Registrations
return this ;
}
}
}
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TInterface3">The third interface</typeparam>
/// <typeparam name="TInterface4">The fourth interface</typeparam>
/// <typeparam name="TInterface5">The fifth interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TInterface5 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TInterface5 , TImplementation > where TImplementation : TInterface5 , TInterface4 , TInterface3 , TInterface2 , TInterface1
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
/// <typeparam name="TInterface1">The first interface</typeparam>
/// <typeparam name="TInterface2">The second interface</typeparam>
/// <typeparam name="TInterface3">The third interface</typeparam>
/// <typeparam name="TInterface4">The fourth interface</typeparam>
/// <typeparam name="TInterface5">The fifth interface</typeparam>
/// <typeparam name="TImplementation">The implementation</typeparam>
internal class MultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TInterface5 , TImplementation > : MultipleRegistration < TInterface1 , TImplementation > , IMultipleRegistration < TInterface1 , TInterface2 , TInterface3 , TInterface4 , TInterface5 , TImplementation > where TImplementation : TInterface5 , TInterface4 , TInterface3 , TInterface2 , TInterface1
{
/// <summary>
/// An <see cref="IRegistration"/> to register multiple interfaces for on implementation type
/// </summary>
@ -241,5 +241,4 @@ namespace LightweightIocContainer.Registrations
return this ;
}
}
}