ContainerConfiguration
Represents a container configuration
using Stashbox.Lifetime;
using Stashbox.Registration.Fluent;
using System;
using System.Collections.Generic;
using System.Reflection;
namespace Stashbox.Configuration
{
public class ContainerConfiguration
{
public bool TrackTransientsForDisposalEnabled { get; set; }
public Rules.RegistrationBehavior RegistrationBehavior { get; set; }
public bool CircularDependencyTrackingEnabled { get; set; }
public bool RuntimeCircularDependencyTrackingEnabled { get; set; }
public bool DefaultValueInjectionEnabled { 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<ConstructorInfo>, IEnumerable<ConstructorInfo>> ConstructorSelectionRule { get; set; }
public Action<RegistrationConfigurator> UnknownTypeConfigurator { get; set; }
public Action<ContainerConfiguration> ConfigurationChangedEvent { get; set; }
public Func<MemberInfo, bool> MemberInjectionFilter { get; set; }
public LifetimeDescriptor DefaultLifetime { get; set; }
internal static ContainerConfiguration DefaultContainerConfiguration()
{
return new ContainerConfiguration {
ConstructorSelectionRule = Rules.ConstructorSelection.PreferMostParameters,
DefaultLifetime = Lifetimes.Transient
};
}
internal ContainerConfiguration()
{
}
}
}