2012-05-20 91 views
1

我有一個使用MAPI創建Outlook聯繫人的舊VB6應用程序,我在將其轉換爲VB .NET的過程2010Exchange Web服務API - Contact.ItemProperties等效

的VB6應用程序可以讓我訪問使用ItemProperties屬性,例如,通過名稱屬性:

objContact.ItemProperties(strPropertyName) = "Accountant" 

我可以看到在extended property listItemProperties但我不知道如何訪問它。其他posts顯示如何訪問現有聯繫人的擴展屬性,但我試圖創建新的聯繫人。

是否可以像在MAPI中那樣動態設置屬性?如果沒有,我會最終有一個非常大的CASE語句即

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

回答

0

這裏是EWS創建Contact和使用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] = "[email protected]"; 
contact.EmailAddresses[EmailAddressKey.EmailAddress1].Name = "G. Washington"; 
contact.SetExtendedProperty(titleDef, "President"); 
contact.Save(); 
var contactID = contact.Id; 
相關問題