2016-11-21 6 views
0

Я генерирую сообщение и открываю его для пользователя с помощью Microsoft.Office.Interop.Outlook. Когда пользователь отправляет сообщение в Outlook, я хочу зафиксировать это событие. Не так, как обсуждалось в этом SO шагать:OutLook MailItem отправить событие не работает

capture the Outlook 2013 Send event

, где я захватить все отправленные сообщения электронной почты, а не только генерируется.

public static MailItem CreateMail() 
{ 
    Application outlook = new Application(); 
    MailItem mailItem = outlook.CreateItem(OlItemType.olMailItem); 
    // set recipients, body, ect.. 
    mailItem.Send += MailItemSendedHandler; 
    Inspector inspector = mailItem.GetInspector; 
    inspector.Activate(); 
    return mailItem; 
} 

static void MailItemSendedHandler(ref bool isSended) 
{ 
} 

MailItem имеет метод Send() и Send событие. Когда я подписываюсь я получаю ошибку:

Cannot assign to "Send", because it is a method group.

Как я могу захватить Send события для моего MailItem?

ответ

0

MailItem - это интерфейс, который унаследован от интерфейсов: _MailItem и ItemEvents_10_Event. Оба они имеют Отправить (в _MailItem это метод, в ItemEvents_10_Events - событие). Я думаю, что у нас есть конфликт, и нужно четко определить ведьму Отправить мы хотим использовать.

((ItemEvents_10_Event)mailItem).Send += new ItemEvents_10_SendEventHandler(MailItemSendedHandler); 

static void MailItemSendedHandler(ref bool isSended) 
{ 
} 
+2

Пожалуйста, добавьте пояснения – prasanth

+0

Извините, @prasad. Майби будет более ясным. –

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

  • Нет связанных вопросов^_^