Проблема разработки надстроек Outlook
-
03-07-2019 - |
Вопрос
Я читаю книгу "Приложения для программирования Microsoft Office Outlook: 2007". В примере кода ..
private void Application_ItemContextMenuDisplay(
Microsoft.Office.Core.CommandBar CommandBar,
Microsoft.Office.Interop.Outlook.Selection Selection)
{
OutlookItem oItem = new OutlookItem(Selection[1]);
//...
}
Проблема с приведенным выше кодом заключается в том, что я нигде не смог найти класс OutlookItem. Так как я новичок в программировании Office / Outlook, мне нужно несколько советов по этому вопросу. Пожалуйста, дайте мне знать, как получить доступ к элементам в Selection как к элементу общего вида, вместо того, чтобы указывать или приводить как MailItem или AppointmentItem.
Решение
В объектной модели Outlook нет такого универсального класса, как OutlookItem, авторы упомянутого выше Booke предоставили OutlookItem в качестве вспомогательного класса. В общем случае вспомогательный класс использует отражение для предоставления методов, общих для всех элементов внешнего вида.
Таким образом, из этого ответа можно сделать вывод, что в текущей объектной модели Outlook нет универсального класса на уровне элементов, и, надеюсь, люди в команде Outlook будут включать его в будущем.