У меня есть объект
public class Task
{
public TimeSpan Length { get; set; }
public IList<Task> Dependencies { get; set; }
public DateTime? StartDate { get; set; }
}
, который имеет зависимости от других экземпляров. Например:
(читать «<-» как «зависит от») </p>
- B <- A </li>
- C <- A </li>
- D <- B, C </li>
и
- Q <- P </li>
- R <- Q </li>
Учитывая список заданий * и EndDate, мне нужно установить StartDate для каждой задачи так, чтобы все они были завершены EndDate. Задачи могут выполняться параллельно, где это возможно, поэтому ....
A должен быть заполнен до B и C (что может быть сделано одновременно), а D может быть запущен только после завершения B и C.
R должен запускаться после Q, после P, но они могут выполняться в пареллах к A B C и D.
* список будет завершен, все зависимости будут присутствовать в списке
Спасибо за любой совет
Andrew