namespace Zenject { [NoReflectionBaking] public class WithKernelScopeConcreteIdArgConditionCopyNonLazyBinder : ScopeConcreteIdArgConditionCopyNonLazyBinder { SubContainerCreatorBindInfo _subContainerBindInfo; public WithKernelScopeConcreteIdArgConditionCopyNonLazyBinder( SubContainerCreatorBindInfo subContainerBindInfo, BindInfo bindInfo) : base(bindInfo) { _subContainerBindInfo = subContainerBindInfo; } public ScopeConcreteIdArgConditionCopyNonLazyBinder WithKernel() { _subContainerBindInfo.CreateKernel = true; return this; } // This would be used in cases where you want to control the execution order for the // subcontainer public ScopeConcreteIdArgConditionCopyNonLazyBinder WithKernel() where TKernel : Kernel { _subContainerBindInfo.CreateKernel = true; _subContainerBindInfo.KernelType = typeof(TKernel); return this; } } }