VSTO MailItem.Recipients получить адреса электронной почты в C # - PullRequest
0 голосов
/ 13 декабря 2018

Справочная информация: я пишу надстройку для Outlook на C #.Когда пользователь отправляет электронное письмо в Outlook, я хочу получить адреса электронной почты, указанные в текстовых полях to, cc и bcc.В качестве теста я пытаюсь напечатать адрес электронной почты первых получателей в новом окне.

private void Application_ItemSend(object Item, ref bool Cancel)
{
    if (Item is Outlook.MailItem)
    {

            Outlook.MailItem mailItem = Item as Outlook.MailItem;

            Outlook.Recipients myRecipients = mailItem.Recipients;

            MessageBox.Show(myRecipients(0));
    }
}

Документы Microsoft Состояния интерфейса получателей "Используйте получателей (index), где index - это имя или номер индекса, чтобы вернутьодин объект Recipient. Однако вызов myRecipients (0) выдает ошибку, в которой указано ожидаемое имя метода.

Мне кажется, я правильно инициализировал коллекцию Recipients, так как смог вызвать myRecipients.Count, который возвращаетправильное количество получателей указано в черновике электронного письма.

Любая помощь будет признательна, спасибо!

1 Ответ

0 голосов
/ 14 декабря 2018

Обычно доступ к элементу коллекции можно получить, передав индексатор в квадратных скобках (а не в круглых скобках, как в коде вашего вопроса) ... Однако в случае Outlook.Recipients я думаю, что коллекция не реализует этошаблон, и поэтому вам нужно использовать Item метод, подобный этому myRecipients.Item(0), где 0 - ваш индекс.

...