public TaskMessageHandler(IServiceProvider rootServices) { RootServices = rootServices; Type loggerType = typeof(ILogger <>); this.Logger = (ILogger)RootServices.GetRequiredService(loggerType.MakeGenericType(this.GetType())); this.ExecutorFactory = new Lazy <IExecutorFactory>(() => { var res = new ExecutorFactory(); res.LoadExecutorInfo(); return(res); }, true); }