ContainerContext
using Stashbox.Configuration;
using Stashbox.Expressions;
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 ContainerConfiguration ContainerConfiguration { get; set; }
public ContainerContext(IContainerContext parentContext, ResolutionStrategy resolutionStrategy, ExpressionFactory expressionFactory, ContainerConfiguration containerConfiguration)
{
ContainerConfiguration = containerConfiguration;
ParentContext = parentContext;
RegistrationRepository = new RegistrationRepository(containerConfiguration);
DecoratorRepository = new DecoratorRepository();
RootScope = new ResolutionScope(resolutionStrategy, expressionFactory, this);
}
}
}