1

我有一个旧的 VB6 应用程序,它使用 MAPI 创建 Outlook 联系人,我正在将其转换为 VB .NET 2010。

VB6 应用程序允许我使用属性按名称访问属性ItemProperties,例如:

objContact.ItemProperties(strPropertyName) = "Accountant"

我可以ItemProperties扩展属性列表中看到,但我不知道如何访问它。其他帖子显示了如何访问现有联系人的扩展属性,但我正在尝试创建新的联系人。

是否可以像在 MAPI 中那样动态设置属性?如果不是,我最终会得到一个非常大的 CASE 语句,即

Select Case strPropertyName
 Case "JobTitle"
  ...
 Case "Title"
  ...
End Select
4

1 回答 1

0

这是一个Contact在 EWS 中创建并使用ExtendedProperties. 您需要使用该SetExtendedProperty方法,传入适当的ExtendedPropertyDefinition.

var titleDef = new ExtendedPropertyDefinition(0x3A45, MapiPropertyType.String);

Contact contact = new Contact(service);
contact.GivenName = "George";
contact.Surname = "Washington";
contact.FileAsMapping = FileAsMapping.SurnameSpaceGivenName;
contact.CompanyName = "U.S.A";
contact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = "555-234-1231";
contact.EmailAddresses[EmailAddressKey.EmailAddress1] = "asdfas@dafasd.com";
contact.EmailAddresses[EmailAddressKey.EmailAddress1].Name = "G. Washington";
contact.SetExtendedProperty(titleDef, "President");
contact.Save();
var contactID = contact.Id;
于 2012-05-29T13:29:39.113 回答