public static TaskMapper CreateDefault() { var fileName = ConfigurationManager.AppSettings["taskMapperFilePath"] ?? "taskMapper.json"; if (File.Exists(fileName)){ return LoadFromFile(fileName); } //Dynamic load var result = new TaskMapper(); var taskInterface = typeof(ITask); var query = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(t => t.GetTypes()) .Where(i => taskInterface.IsAssignableFrom(i) && !i.IsInterface) .Select(o => new { Name = o.Name, TaskQualifiedName = o.AssemblyQualifiedName }) .ToList(); query.ForEach(c => result.LoadItem(c.Name, c.TaskQualifiedName)); return result; }
public static TaskMapper CreateDefault() { var fileName = ConfigurationManager.AppSettings["taskMapperFilePath"] ?? "taskMapper.json"; if (File.Exists(fileName)) { return(LoadFromFile(fileName)); } //Dynamic load var result = new TaskMapper(); var taskInterface = typeof(ITask); var query = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(t => t.GetTypes()) .Where(i => taskInterface.IsAssignableFrom(i) && !i.IsInterface) .Select(o => new { Name = o.Name, TaskQualifiedName = o.AssemblyQualifiedName }) .ToList(); query.ForEach(c => result.LoadItem(c.Name, c.TaskQualifiedName)); return(result); }
public TaskLoader(TaskMapper mapper) { _taskMapper = mapper; }
public TaskLoader() : this(TaskMapper.CreateDefault()) { }