Я пытаюсь получить идентификаторы содержимого вложений писем в outlook. Я использую Add-In Express для своей надстройки, но она не имеет функции для ее получения.
Я знаю библиотеку Redemption, но она не бесплатна и, следовательно, не подходит для меня.
В Outlook 2007+ есть PropertyAccessor, который должен позволять мне это делать, но я не могу заставить его работать.
Вот мой код:
string uniqueId = "";
object props = a.GetType().InvokeMember("PropertyAccessor", BindingFlags.Public | BindingFlags.GetField | BindingFlags.GetProperty, null, a, null);
object[] args = new object[1];
args[0] = @"urn:schemas:mailheader:content-id";
object value = props.GetType().InvokeMember("GetProperty", BindingFlags.Public | BindingFlags.InvokeMethod, null, props, args);
if ((string)value != null) {
uniqueId = (string)value;
}
«a» - это вложение, полученное из Надстройки Express MailItem.
Он просто выдает следующее исключение: «Исключение было сгенерировано целью вызова».
Может ли кто-нибудь мне помочь?