Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="4.1.0-preview-681" />

 ContainerContext

using Stashbox.Configuration; using Stashbox.Registration; using Stashbox.Resolution; namespace Stashbox { internal class ContainerContext : IContainerContext { public IRegistrationRepository RegistrationRepository { get; } public IDecoratorRepository DecoratorRepository { get; } public IContainerContext ParentContext { get; } public IResolutionScope RootScope { get; } public IResolutionStrategy ResolutionStrategy { get; } public ContainerConfiguration ContainerConfiguration { get; set; } public ContainerContext(IContainerContext parentContext, ResolutionStrategy resolutionStrategy, ContainerConfiguration containerConfiguration) { ContainerConfiguration = containerConfiguration; ParentContext = parentContext; RegistrationRepository = new RegistrationRepository(containerConfiguration); DecoratorRepository = new DecoratorRepository(); RootScope = new ResolutionScope(this); ResolutionStrategy = resolutionStrategy; } } }