Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么约会.conflications.Count总是0?_C#_Office Interop_Outlook 2010 - Fatal编程技术网

C# 为什么约会.conflications.Count总是0?

C# 为什么约会.conflications.Count总是0?,c#,office-interop,outlook-2010,C#,Office Interop,Outlook 2010,我正在使用C#查看outlook日历中的所有约会,并试图找出是否存在冲突,但当我检查Appointment.conflicts.Count时,它始终为0,即使我添加了多个同时发生的约会 下面是一些示例代码: var outlook = new Microsoft.Office.Interop.Outlook.Application(); var calendar = outlook.Application.Session.GetDefaultFolder(Outlook.OlDefaultFol

我正在使用C#查看outlook日历中的所有约会,并试图找出是否存在冲突,但当我检查Appointment.conflicts.Count时,它始终为0,即使我添加了多个同时发生的约会

下面是一些示例代码:

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#中的另一个约会发生冲突?

冲突属性似乎仅用于处理编辑冲突,而不是调度冲突

见:

还请注意,几乎所有的都有冲突属性,即使是那些没有调度属性的(例如)


似乎您必须通过AppointItem.Start和AppointItem.End属性以及AllDayEvent属性自己检查日期范围。

您可能需要查看是否存在清理问题。@JeffMercado我没有任何清理问题。我假设item.Conflicts.Count将提供当前约会与时间重叠(冲突)的约会数。它总是给0,即使我有重叠的约会(一个先开始,另一个先结束。实际上,我指的是您现在的代码在正确清理outlook进程时会遇到问题。我真的不知道您所问的问题是什么。您在拥有资源的情况下会遇到不同的问题,
outlook.Application
outlook.Application.Session
t获取而不清除。如果您查看任务管理器,您可能会看到outlook实例正在运行,即使您因此关闭了您的程序。请查看原因的答案。获取定期约会也存在问题。outlook似乎使事情变得比需要的更复杂,但您是对的。。。冲突指的是在outlook服务器和本地客户端之间同步项目的问题(例如,您在本地计算机上更新了约会,并从web客户端更新了约会)