Stashbox by Peter Csajtai

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

 IResolutionStrategy

public interface IResolutionStrategy
Represents a resolution strategy.
using Stashbox.Registration; using System.Collections.Generic; using System.Runtime.CompilerServices; namespace Stashbox.Resolution { [System.Runtime.CompilerServices.NullableContext(1)] 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); } }