gpt4 book ai didi

c# - Exchange - Microsoft.Exchange.WebServices.Data.Recurrence.YearlyPattern 中缺少间隔

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:20 24 4
gpt4 key购买 nike

当您通过 outlook 等客户端创建约会时,您可以设置每年定期约会的时间间隔。但是这个成员不包括在我们必须通过网络服务使用的类中:

http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.recurrence.yearlypattern_members(v=exchg.80).aspx

这是因为 YearlyPattern 不是 IntervalPattern 的子类,因为所有其他 patterntype 都是:

http://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.recurrence(v=exchg.80).aspx

有人知道这是什么原因吗?有机会获得区间属性吗?是否有我们可以使用的解决方法?

最佳答案

这是 API 中的一个明显差距,出于某种原因,在 MS 的无穷智慧中,他们决定排除该键值。

现在我没有完整的代码示例,但我确实有所有的难题。您将需要从另一个属性中提取值。

首先您需要获取 PidLidAppointmentRecur MAPI 属性

这是扩展属性定义,将其添加到您在约会中请求的属性集:

static ExtendedPropertyDefinition AppointmentRecur = new ExtendedPropertyDefinition(
DefaultExtendedPropertySet.Appointment,
0x8216,
MapiPropertyType.Binary
);



<p>Extract the byte array:
</p><pre>appointment.TryGetProperty(AppointmentRecur, out byte[] appointment_recurence);</pre>

然后解析它,请参阅本指南以帮助您入门:

您正在寻找 3 个值:

  • 重复频率
  • 图案类型
  • 时期

RecurFrequency 和 PatternType 是枚举,我没有来源。 Period 是间隔号。

我希望找到类似的东西:

  • RecurFrequency = 0x200D(每年)
  • PatternType = 0x0002(月份)

因此,一旦您获得了这些值,您就需要根据 PatternType 和 Period 计算年度间隔。

我将获取 RecurFrequency 以进行验证。

好吧,我希望它现在已经很明显了,但是如果您想解析整个结构,您可以用它替换 EWS Recurrence 属性。

另一个很好的资源:

关于c# - Exchange - Microsoft.Exchange.WebServices.Data.Recurrence.YearlyPattern 中缺少间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49132409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com