public TaskDefinition GetTaskByMethod(MethodInfo methodInfo) { if (TaskDefinitionsByMethod.TryGetValue(methodInfo, out var definition)) { return(definition); } return(null); }
public void AddTask(TaskDefinition taskDefinition) { if (taskDefinition == null) { throw new ArgumentNullException(nameof(taskDefinition)); } if (TaskDefinitionsByName.ContainsKey(taskDefinition.Name)) { throw new ArgumentException($"Attempting to add task with duplcate name [{taskDefinition.Name}]"); } if (TaskDefinitionsByMethod.ContainsKey(taskDefinition.Method)) { throw new ArgumentException($"Task for method is already registered: {taskDefinition.Method}"); } _logger.LogInformation($"Registering task: {taskDefinition.Name}"); TaskDefinitionsByName.Add(taskDefinition.Name, taskDefinition); TaskDefinitionsByMethod.Add(taskDefinition.Method, taskDefinition); }