例如,我有一個Task類,它可以報告任務完成需要多長時間。但是,該類可以包含相同類型的子任務。關於遞歸方法設計的建議
public class Task
{
public string Name{get; set;}
public DateTime Start {get; set;}
public DateTime Finish {get; set;}
public List<Task> SubTasks {get; set;}
public TimeSpan GetDuration()
{
return Finish - Start;
}
public TimeSpan GetTotalDuration()
{
//How?
}
}
子任務可以是幾個級別深,現在沒有邏輯限制。我不確定如何設計負責散步子任務的方法並累積TimeSpan值?
任何優雅的想法讚賞?
感謝
什麼是你的天真方法? – Dykam 2012-02-15 10:47:10
子任務的持續時間與父任務之間是否有任何關係他們是互相依賴還是應該在父任務的持續時間內包含所有子任務的持續時間? – Dominik 2012-02-15 10:48:42
這將是另一個問題,只是想首先確定遞歸。但要回答你的問題父母的開始/結束時間將是子任務日期的最小/最大值。 – Fixer 2012-02-15 10:56:21