为什么Appointment.Conflicts.Count总是0?

时间:2011-11-14 19:06:58

标签: c# office-interop outlook-2010

我正在使用C#来查看我的Outlook日历中的所有约会并试图弄清楚我是否有任何冲突,但当我检查Appointment.Conflicts.Count时,它总是0,即使我' ve添加了同时发生的多个约会。

以下是一些示例代码:

var outlook = new Microsoft.Office.Interop.Outlook.Application();
var calendar = outlook.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);

Outlook.AppointmentItem appointment;
foreach (Outlook.AppointmentItem item in calendar.Items)
{
    if (item.Conflicts.Count > 0)
    {
        Console.WriteLine("Never gets hit");
    }

}

如何确定Outlook中的约会是否在C#中以编程方式与另一个约会冲突?

1 个答案:

答案 0 :(得分:1)

看来,Conflicts属性仅用于处理编辑冲突,而不是用于计划冲突。

请参阅:Conflict Resolution for Standard Outlook Item Types

另请注意,几乎所有outlook item types也都有冲突属性,即使那些没有调度属性的属性(例如NoteItem)。

看来你必须通过appointmentItem.Start和appointmentItem.End属性自己检查日期范围,也可能是AllDayEvent属性。