C # Расширенное свойство от VSTO без использования EWS - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь перевести приведенный ниже код в C # в контексте надстройки Outlook VSTO без использования метода, связанного с EWS.Это вообще возможно?

$contact = new EWSType_ItemType();

// Build the extended property and set it on the item.
$property = new EWSType_ExtendedPropertyType();
$property->ExtendedFieldURI = new EWSType_PathToExtendedFieldType();
$property->ExtendedFieldURI->PropertyName = 'MyProperty';
$property->ExtendedFieldURI->PropertyType = EWSType_MapiPropertyTypeType::STRING;
$property->Value = "MyValue";
$contact->ExtendedProperty = $property;

// Build the set item field object and set the item on it.
$field = new EWSType_SetItemFieldType();
$field->ExtendedFieldURI = new EWSType_PathToExtendedFieldType();
$field->ExtendedFieldURI->PropertyName = 'MyProperty';
$field->ExtendedFieldURI->PropertySetId = '00000000-0000-0000-B000-000000000041';
$field->ExtendedFieldURI->PropertyType = EWSType_MapiPropertyTypeType::STRING;
$field->Contact = $contact;

$change->Updates->SetItemField[] = $field;
$request->ItemChanges[] = $change;

Используя EWS, я считаю, что могу использовать метод SetExtendedProperty, но я работаю в проекте надстройки VSTO и не хочу подключаться к EWS.До сих пор я понимал, что могу использовать метод setProperty:

appointmentItem.PropertyAccessor.SetProperty(http://schemas.microsoft.com/mapi/string/{00000000-0000-0000-B000-000000000041}/MyProperty/, "MyValue");

Но сгенерированный атрибут немного отличается, и, похоже, это связано с тем, что $ field содержит свойство с именем contact, которое включает в себя sub-свойство.

Любая помощь будет высоко ценится.

...