2013-03-21 45 views
3

我嘗試使用某種範圍爲[Start]過濾器的Outlook AppointmentItem給人奇怪的結果

var calendar = outlookApplication.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderCalendar); 

if (calendar == null || calendar.Items == null) 
{ 
    return null; 
} 

DateTime appointmentStart = new DateTime(2013, 03, 25, 10, 0 ,0); 

string filter = string.Format("[Start] > '{0}' And [Start] < '{1}'", appointmentStart.AddMinutes(-1).ToString("g"), appointmentStart.AddMinutes(+1).ToString("g")); 
var calendarItems = calendar.Items.Restrict(filter); 

我在Outlook10:00:0025.03.2013AppointemtItem。因此,正在等待得到這個AppointmentItem爲calendar.Items.Restrict(filter);

,但結果我成了2個AppointmenItems:

  • 正確的

  • ,也從一個05.04.2012 - 從05 2012年4月(不2013)有開始10:30:00和結束10:40:00

我不明白w帽子有05.04.2012 10:30:00 - 10:40:00與

過濾> 25.03.2013 09:59和< 25.03.2013 10:01?

回答

0

從05.04.2012開始AppointmentItem是經常性的。

我不知道爲什麼在calendar.Items.Restrict(filter)之後顯示,但是我的解決方案是檢查IsRecurring屬性。