2013-12-06 12 views
0

Мы написали приложение Outlook, в котором установлено несколько настраиваемых свойств для почтового элемента через PropertyAccessor. Как это:Итерация через PropertyAccesor

mail.PropertyAccessor.SetProperty(name, value); 

Эта почта (EML файл) отправляется на другую программу, которую нужно прочитать свойства и принять меры на основе этих свойств. Дело в том, что мы не знаем точно, какие свойства будут установлены. Как мы можем перебирать пользовательские свойства в PropertyAccessor?

Тем временем мы используем UserProperties для итерации по свойствам, но у UserProperties есть один недостаток: они печатаются над почтовым сообщением, когда печатается электронное письмо.

ответ

0

Я не думаю, что это имеет смысл - вы не гонг, чтобы иметь тысячи свойств, не так ли?
Если собственность может быть или не быть, просто проверьте, существует ли она.
Другая проблема с именованными свойствами заключается в том, что это конечный ресурс - вы можете иметь не более 64 тыс. Разных именованных свойств в хранилище. Было бы лучше использовать меньшее количество именованных свойств, но заставлять их удерживать несколько значений.
Можете ли вы привести пример, почему вам нужно большое количество именованных свойств?

Что касается напечатанных свойств пользователя, на уровне MAPI вы можете установить специальный флаг в пользовательских свойствах blob, который включается или выключается для печати. Если использование Redemption является опцией, объект RDOUserProperty предоставляет свойство Printable.

Смежные вопросы