查询"字段"在Outlook RDOMail对象中

时间:2016-09-26 04:08:45

标签: outlook outlook-redemption

我有一段代码使用DASL查询来查询保存在RDOFolder中项目的用户属性中的值,如下所示: java.lang.reflect 但是,现在我需要将保存在用户属性中的数据迁移到RDOMail项的rdoFolder.Items.Find("\"http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/MyUserPropertyName/0x0000001F\"='queryValue'" 属性中。我想知道是否有类似的方法来查询此Field属性以获得快速性能。当有数万个项目时,循环浏览文件夹中的所有项目进行值比较可能会非常慢。

2 个答案:

答案 0 :(得分:0)

您可以将相同的DASL名称传递给RDOMail.Fields索引属性。

答案 1 :(得分:0)

我发现RDOFolder.Items.Find方法还会搜索通过RDOMail.Fields索引属性保存的值。正如德米特里在评论中所说的那样。

例如,如果我设置如下值:

myRdoMail.Fields["http://schemas.microsoft.com/mapi/string/{8d736f90-8f45-4591-81aa-c85a98f1261b}/MyUserProperty"] = "MyValue";

然后,我可以通过执行以下操作找到此项目:

var result = myRdoFolder.Items.Find("\"http://schemas.microsoft.com/mapi/string/{8d736f90-8f45-4591-81aa-c85a98f1261b}/MyUserProperty\"='MyValue'");