Не могу различить MailItem и MeetingItem в NewMailEx - PullRequest
0 голосов
/ 15 декабря 2010

Я разрабатываю надстройку с использованием c #. Я могу получать уведомления всякий раз, когда получаю какой-либо предмет в свой почтовый ящик.

    this.Application.NewMailEx += new Outlook.ApplicationEvents_11_NewMailExEventHandler(olApp_NewMail);

 private void olApp_NewMail(String itemCollection)
        {
            string [] strNewItems;
            strNewItems = itemCollection.Split(',');

            foreach (string newItem in strNewItems)
            {                
                Outlook.MailItem mail = (Outlook.MailItem)Application.Session.GetItemFromID(newItem, Type.Missing);
                string old_subj = mail.Subject;
                string old_body = mail.Body;

                MessageBox.Show(old_subj);
            }

        }

но проблема в обработчике событий, я не могу определить, является ли это почтовым элементом или элементом собрания. Как я должен это делать?

спасибо заранее.

С уважением, Jeeva

1 Ответ

1 голос
/ 15 декабря 2010

Разве вы не можете сделать что-то вроде:

object item = Application.Session.GetItemFromID(newItem, Type.Missing);
Outlook.MailItem mailItem = item as Outlook.MailItem;
if (mailItem != null)
{
    ...
}
else
{
    Outlook.MeetingItem meetingItem = item as Outlook.MeetingItem;
    if (meetingItem != null)
    {
        ...
    }   
}
...