ContainerConfiguration
using Stashbox.Entity;
using Stashbox.Lifetime;
using Stashbox.Registration.Fluent;
using System;
using System.Collections.Generic;
namespace Stashbox.Configuration
{
public class ContainerConfiguration
{
public bool TrackTransientsForDisposalEnabled { get; set; }
public bool SetUniqueRegistrationNames { get; set; }
public bool CircularDependencyTrackingEnabled { get; set; }
public bool RuntimeCircularDependencyTrackingEnabled { get; set; }
public bool OptionalAndDefaultValueInjectionEnabled { get; set; }
public bool UnknownTypeResolutionEnabled { get; set; }
public bool MemberInjectionWithoutAnnotationEnabled { get; set; }
public bool CircularDependenciesWithLazyEnabled { get; set; }
public bool TreatingParameterAndMemberNameAsDependencyNameEnabled { get; set; }
public bool NamedDependencyResolutionForUnNamedRequestsEnabled { get; set; }
public bool ForceUseMicrosoftExpressionCompiler { get; set; }
public Rules.AutoMemberInjectionRules MemberInjectionWithoutAnnotationRule { get; set; }
public Func<IEnumerable<ConstructorInformation>, IEnumerable<ConstructorInformation>> ConstructorSelectionRule { get; set; }
public Action<RegistrationConfigurator> UnknownTypeConfigurator { get; set; }
public Action<ContainerConfiguration> ConfigurationChangedEvent { get; set; }
public Func<TypeInformation, bool> MemberInjectionFilter { get; set; }
public ILifetime DefaultLifetime { get; set; }
internal static ContainerConfiguration DefaultContainerConfiguration()
{
return new ContainerConfiguration {
ConstructorSelectionRule = Rules.ConstructorSelection.PreferMostParameters
};
}
internal ContainerConfiguration()
{
TrackTransientsForDisposalEnabled = false;
CircularDependencyTrackingEnabled = false;
OptionalAndDefaultValueInjectionEnabled = false;
UnknownTypeResolutionEnabled = false;
MemberInjectionWithoutAnnotationEnabled = false;
CircularDependenciesWithLazyEnabled = false;
SetUniqueRegistrationNames = false;
TreatingParameterAndMemberNameAsDependencyNameEnabled = false;
NamedDependencyResolutionForUnNamedRequestsEnabled = false;
ForceUseMicrosoftExpressionCompiler = false;
}
}
}