我目前正在开发一个使用Microsoft Exchange WebServices的应用程序,我对Appointment.IsRecurring
属性和Appointment.AppointmentType
属性感到有点困惑。
根据MSDN上的这篇文章:https://msdn.microsoft.com/en-us/library/office/dd633700(v=exchg.80).aspx,如果约会类型不是RecurringMaster
,Occurrence
或Exception
(即Single
),那么预约不是定期会议。
根据MSDN上的这篇文章:https://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.appointment.isrecurring(v=exchg.80).aspx,IsRecurring
属性说明约会是否经常发生。
但是,我有一些代码可以检查约会是否重复,然后检查约会类型是什么:
if (appointment.IsRecurring)
{
if (appointment.AppointmentType == AppointmentType.RecurringMaster)
{
}
else if (appointment.AppointmentType == AppointmentType.Single)
{
//shouldn't happen
}
else if (appointment.AppointmentType == AppointmentType.Occurrence || appointment.AppointmentType == AppointmentType.Exception)
{
}
}
出于某种原因,我遇到了许多被标记为IsRecurring
的约会,但他们的约会类型是AppointmentType.Single
。
这里的任何人都能指出为什么我面临这个“问题”,根据一个属性,它是一个定期会议而根据另一个属性不是吗?
我创建了定期会议,更改了会议的一个实例,并检查了类型,但它正确地显示为AppointmentType.Exception
。
我很感谢您就此事提出的所有意见/指导。
干杯。
凯文
答案 0 :(得分:0)
道歉,我无法说明发生这种情况的实际原因,但在我的测试中,如果我在Outlook日历GUI中,我通过按住CTRL键复制一个定期会议的一个实例然后单击并拖动它,结果是该特定约会的非重复副本,但由于某种原因,该副本仍保留IsRecurring标志,并且AppointmentType为Single。
所以,这并不是它背后的原因,但可能是你所看到的部分原因。我同意这看起来很奇怪。