Stashbox by Peter Csajtai

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

 IResolutionStrategy

public interface IResolutionStrategy
Represents a resolution strategy.
using Stashbox.Registration; using System.Collections.Generic; namespace Stashbox.Resolution { public interface IResolutionStrategy { void RegisterResolver(IResolver resolver); ServiceContext BuildExpressionForType(ResolutionContext resolutionContext, TypeInformation typeInformation); IEnumerable<ServiceContext> BuildExpressionsForEnumerableRequest(ResolutionContext resolutionContext, TypeInformation typeInformation); ServiceContext BuildExpressionForRegistration(ServiceRegistration serviceRegistration, ResolutionContext resolutionContext, TypeInformation typeInformation); bool IsTypeResolvable(ResolutionContext resolutionContext, TypeInformation typeInformation); } }