/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyKernel"/> class. /// </summary> /// <param name="bindings">The preconfigured bindings.</param> /// <param name="cache">The <see cref="ICache"/> component.</param> /// <param name="planner">The <see cref="IPlanner"/> component.</param> /// <param name="scorer">The <see cref="IConstructorScorer"/> component.</param> /// <param name="pipeline">The <see cref="IPipeline"/> component.</param> /// <param name="bindingPrecedenceComparer">The <see cref="IBindingPrecedenceComparer"/> component.</param> /// <param name="bindingResolvers">The binding resolvers.</param> /// <param name="missingBindingResolvers">The missng binding resolvers.</param> /// <param name="settings">The <see cref="INinjectSettings"/>.</param> internal ReadOnlyKernel( INinjectSettings settings, IDictionary <Type, ICollection <IBinding> > bindings, ICache cache, IPlanner planner, IConstructorScorer scorer, IPipeline pipeline, IBindingPrecedenceComparer bindingPrecedenceComparer, IEnumerable <IBindingResolver> bindingResolvers, IEnumerable <IMissingBindingResolver> missingBindingResolvers) { this.Settings = settings; this.bindingResolvers = bindingResolvers; this.missingBindingResolvers = missingBindingResolvers; this.cache = cache; this.planner = planner; this.scorer = scorer; this.pipeline = pipeline; this.bindingPrecedenceComparer = bindingPrecedenceComparer; this.AddReadOnlyKernelBinding <IReadOnlyKernel>(this, bindings); this.AddReadOnlyKernelBinding <IResolutionRoot>(this, bindings); this.bindings = bindings.Keys.ToDictionary(type => type, type => bindings[type]); this.InitializeBindings(); }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyKernel"/> class. /// </summary> /// <param name="settings">The <see cref="INinjectSettings"/>.</param> /// <param name="bindings">The preconfigured bindings.</param> /// <param name="cache">The <see cref="ICache"/> component.</param> /// <param name="planner">The <see cref="IPlanner"/> component.</param> /// <param name="constructorScorer">The <see cref="IConstructorScorer"/> component.</param> /// <param name="pipeline">The <see cref="IPipeline"/> component.</param> /// <param name="exceptionFormatter">The <see cref="IExceptionFormatter"/> component.</param> /// <param name="bindingPrecedenceComparer">The <see cref="IBindingPrecedenceComparer"/> component.</param> /// <param name="bindingResolvers">The binding resolvers.</param> /// <param name="missingBindingResolvers">The missing binding resolvers.</param> internal ReadOnlyKernel( INinjectSettings settings, Dictionary <Type, ICollection <IBinding> > bindings, ICache cache, IPlanner planner, IConstructorScorer constructorScorer, IPipeline pipeline, IExceptionFormatter exceptionFormatter, IBindingPrecedenceComparer bindingPrecedenceComparer, List <IBindingResolver> bindingResolvers, List <IMissingBindingResolver> missingBindingResolvers) { this.settings = settings; this.bindings = bindings; this.bindingResolvers = bindingResolvers; this.missingBindingResolvers = missingBindingResolvers; this.cache = cache; this.planner = planner; this.constructorScorer = constructorScorer; this.pipeline = pipeline; this.exceptionFormatter = exceptionFormatter; this.bindingPrecedenceComparer = bindingPrecedenceComparer; this.AddReadOnlyKernelBinding <IReadOnlyKernel>(this, bindings); this.AddReadOnlyKernelBinding <IResolutionRoot>(this, bindings); }
/// <summary> /// Initializes a new instance of the <see cref="KernelBase"/> class. /// </summary> /// <param name="components">The component container to use.</param> /// <param name="settings">The configuration to use.</param> /// <param name="modules">The modules to load into the kernel.</param> protected KernelBase(IComponentContainer components, INinjectSettings settings, params INinjectModule[] modules) { Ensure.ArgumentNotNull(components, "components"); Ensure.ArgumentNotNull(settings, "settings"); Ensure.ArgumentNotNull(modules, "modules"); this.Settings = settings; this.Components = components; components.Kernel = this; this.AddComponents(); this.bindingPrecedenceComparer = this.Components.Get <IBindingPrecedenceComparer>(); this.Bind <IKernel>().ToConstant(this).InTransientScope(); this.Bind <IResolutionRoot>().ToConstant(this).InTransientScope(); if (this.Settings.LoadExtensions) { this.Load(this.Settings.ExtensionSearchPatterns); } this.Load(modules); }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyKernel"/> class. /// </summary> /// <param name="bindings">The preconfigured bindings</param> /// <param name="cache">Dependency injection for <see cref="ICache"/></param> /// <param name="planner">Dependency injection for <see cref="IPlanner"/></param> /// <param name="pipeline">Dependency injection for <see cref="IPipeline"/></param> /// <param name="bindingPrecedenceComparer">Dependency injection for <see cref="IBindingPrecedenceComparer"/></param> /// <param name="bindingResolvers">Dependency injection for all binding resolvers</param> /// <param name="missingBindingResolvers">Dependency injection for all missng binding resolvers</param> /// <param name="settings">Dependency injection for for <see cref="INinjectSettings"/></param> /// <param name="selector">Dependency injection for <see cref="ISelector"/></param> public ReadOnlyKernel( Multimap <Type, IBinding> bindings, ICache cache, IPlanner planner, IPipeline pipeline, IBindingPrecedenceComparer bindingPrecedenceComparer, IEnumerable <IBindingResolver> bindingResolvers, IEnumerable <IMissingBindingResolver> missingBindingResolvers, INinjectSettings settings, ISelector selector) { this.bindingResolvers = bindingResolvers; this.missingBindingResolvers = missingBindingResolvers; this.cache = cache; this.planner = planner; this.pipeline = pipeline; this.bindingPrecedenceComparer = bindingPrecedenceComparer; this.Settings = settings; this.AddReadOnlyKernelBinding <IReadOnlyKernel>(this, bindings); this.AddReadOnlyKernelBinding <IResolutionRoot>(this, bindings); this.bindings = bindings.Keys.ToDictionary(type => type, type => bindings[type]); this.InitializeBindings(selector); }
internal MyReadOnlyKernel(INinjectSettings settings, Dictionary <Type, ICollection <IBinding> > bindings, ICache cache, IPlanner planner, IConstructorScorer constructorScorer, IPipeline pipeline, IBindingPrecedenceComparer bindingPrecedenceComparer, IEnumerable <IBindingResolver> bindingResolvers, IEnumerable <IMissingBindingResolver> missingBindingResolvers) : base(settings, bindings, cache, planner, constructorScorer, pipeline, bindingPrecedenceComparer, bindingResolvers, missingBindingResolvers) { }
protected CoreKernel(INinjectSettings settings, params INinjectModule[] modules) : base(settings, modules) { this.BindingPrecedenceComparer = this.Components.Get <IBindingPrecedenceComparer>(); }
/// <summary> /// Initializes a new instance of the <see cref="StandardKernel"/> class. /// </summary> /// <param name="settings">The configuration to use.</param> /// <param name="modules">The modules to load into the kernel.</param> public IoCConfigurationNinjectKernel(INinjectSettings settings, params INinjectModule[] modules) : base(settings, modules) { this.bindingPrecedenceComparer = this.Components.Get <IBindingPrecedenceComparer>(); }