Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="5.0.1-preview-721" />

 IDependencyResolver

Represents a dependency resolver.
using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace Stashbox { public interface IDependencyResolver : IServiceProvider, IAsyncDisposable, IDisposable { object Resolve(Type typeFrom, bool nullResultAllowed = false, object[] dependencyOverrides = null); object Resolve(Type typeFrom, object name, bool nullResultAllowed = false, object[] dependencyOverrides = null); IEnumerable<TKey> ResolveAll<TKey>(object[] dependencyOverrides = null); IEnumerable<object> ResolveAll(Type typeFrom, object[] dependencyOverrides = null); Delegate ResolveFactory(Type typeFrom, object name = null, bool nullResultAllowed = false, params Type[] parameterTypes); IDependencyResolver BeginScope(object name = null, bool attachToParent = false); void PutInstanceInScope(Type typeFrom, object instance, bool withoutDisposalTracking = false, object name = null); TTo BuildUp<TTo>(TTo instance); object Activate(Type type, params object[] arguments); ValueTask InvokeAsyncInitializers(CancellationToken token = default(CancellationToken)); bool CanResolve<TFrom>(object name = null); bool CanResolve(Type typeFrom, object name = null); } }