将Exchange联系人电子邮件地址设置为null / String.Empty

时间:2013-05-22 23:05:52

标签: .net exchangewebservices

使用Exchange Web Services 2.0(EWS)如何将联系人的电子邮件地址设置为null或String.Empty而不会收到错误"更改说明中的对象必须包含一个且仅包含一个属性修改。"?

// Causes error.
string emailAddress = String.Empty;
MyContact.EmailAddresses[EmailAddressKey.EmailAddress1] = new EmailAddress(emailAddress);

如果我将它设置为' - '或有效的电子邮件地址,它工作正常。

// No error.
string emailAddress = "-";
MyContact.EmailAddresses[EmailAddressKey.EmailAddress1] = new EmailAddress(emailAddress);

那我该如何清除电子邮件地址?

2 个答案:

答案 0 :(得分:1)

EmailAddress对您在构造函数中提供的字符串进行内部解析:

new EmailAddress(emailAddress);

所以你不能这样做,传递string.Empty。

检查来自联系人的远程电子邮件的以下链接:

EWS Managed API: How to remove Email1, Email2, Email3 from a contact

答案 1 :(得分:0)

您还可以将电子邮件值设置如下。你不需要构造函数

    string emailAddress = String.Empty;
    MyContact.EmailAddresses[EmailAddressKey.EmailAddress1] = emailAddress;