处理Exchange Web服务(EWS)缺少的属性

时间:2015-03-30 17:10:31

标签: linq properties exchangewebservices

我对EWS编程和Exchange架构比较满意,但遇到了一个有趣的问题需要处理。

我有propertyset,要求:

  • ItemClass
  • DateTimeReceived
  • LastModifiedTime
  • Size
  • 根目录AllItems文件夹中的每个项目。

我得到结果集,然后针对该集尝试Linq查询,特别是DateTimeReceived。所有项目都没有服务器返回的DateTimeReceived,它们除外。我正在尝试......

long msgCount = (from msg in allItems 
                 where !msg.DateTimeReceived.Equals(null) 
                 select msg).Count();

...其中(IMO)应该返回具有DateTimeReceived的allItem的计数。但是,该属性不为null;它不存在,抛出异常。

我试图避免逐个遍历集合,尝试每条记录。有人有想法或经验吗?

1 个答案:

答案 0 :(得分:0)

感谢TTY的输入肯定会导致以下代码返回我需要的内容。 (仍处于最终测试阶段)

List<EWS.Item> noReceivedProperty = inputlist.Where(m => (m.GetType().GetProperty("DateTimeReceived") != null)).ToList<EWS.Item>();

然后,当然,取noReceivedProperty.Count或需要的。