Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="3.6.2" />

 IResolutionStrategy

public interface IResolutionStrategy
Represents a resolution strategy.
using Stashbox.Registration; using System.Collections.Generic; using System.Linq.Expressions; namespace Stashbox.Resolution { public interface IResolutionStrategy { Expression BuildExpressionForType(ResolutionContext resolutionContext, TypeInformation typeInformation); IEnumerable<Expression> BuildExpressionsForEnumerableRequest(ResolutionContext resolutionContext, TypeInformation typeInformation); Expression BuildExpressionForRegistration(ServiceRegistration serviceRegistration, ResolutionContext resolutionContext, TypeInformation typeInformation); } }