public override void Load() { IBindingWithOrOnSyntax <T> bindingWithOrOnSyntax = base.Kernel.Bind <ITask>().To <T>().InTaskScope <T>().Named(taskName); if (constructorArgs != null) { foreach (string current in constructorArgs.Keys) { bindingWithOrOnSyntax.WithConstructorArgument(current, constructorArgs[current]); } } base.Kernel.Bind <ITask>().To <NinjectTaskScopeManager>() .WhenAnyAncestorNamed(this.taskName + "_timerManager") .Named(this.taskName + "_ninjectTask") .WithConstructorArgument("taskName", taskName); base.Kernel.Bind <ITimerManager>().To <TaskExecutorTimerManager>() .Named(this.taskName + "_timerManager") .WithConstructorArgument("executeBy", ExecuteBy) .WithConstructorArgument("day", Day) .WithConstructorArgument("hourStart", HourStart) .WithConstructorArgument("hourEnd", HourEnd) .WithConstructorArgument("dayOfWeek", DayOfWeek) .WithConstructorArgument("minuteStart", MinuteStart) .WithConstructorArgument("minuteEnd", MinuteEnd); }