コード例 #1
0
        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);
        }