2011-04-19 91 views
0

我有一個包含開始和結束日期的事件列表(例如List),有些事件可以是每週事件(IsWeekly)。我需要從單個事件創建每週事件列表。例如。C#從父事件創建子事件

myEvent開始19/04/2011結束10/05/2011(這是在我的數據庫中的單個事件)

我需要這樣的輸出:

myEvent 19/04/2011

myEvent 26/04/2011

myEvent 2011年3月5日

myEvent 10/05/2011

需要將上述4個事件添加到我的列表中,並移除原始「父」事件。

回答

2
var current = startDate; 
do { 
    list.Add(new MyEvent("My Event", current)); 
    current = current.AddDays(7); 
} while (current < endDate); 
0

我不知道,我已經理解正確你的問題,但我認爲你需要定義你的委託類型,然後定義事件:

delegate void YourDelegate(DateTime d); 
event YourDelegate YourEvent = null; 

,然後調用它,當需要時:

if (YourEvent != null) YourEvent(DateTime.Now); 
0

做一個查找表,有兩列是關鍵事件,並有ParentEvent | ChildEvent佈局,因此,如果你的「父母」有3個孩子,他的關鍵是上市3次,綁不同兒童鑰匙。

0
List<DateTime> GetEvents(DateTime start, DateTime end) 
{ 
    List<DateTime> events = new List<DateTime>(); 

    DateTime e = start; 
    while(e <= end) 
    { 
     e = e.AddDays(7); 
     events.Add(e); 
    } 

    return events; 
}