В настоящее время я программирую дополнение к Outlook 2007 и столкнулся с проблемой при попытке сериализации вложения.Хотя вложения System.Net.Mail имеют ContentStream, который я могу использовать для сериализации данных, вложения Microsoft.Office.Interop.Outlook нет.К сожалению, единственный тип вложения, который я могу получить непосредственно из Outlook, - это Microsoft.Office.Interop.Outlook.Я немного обыскал и не смог найти ничего похожего.
MailItem item = getMailObj(e);
String dataSend = serializeAttachment((System.Net.Mail.Attachment)item.Attachments[1]);
Как вы можете видеть, я попытался типизировать начальное вложение, но мне было дано исключение Invalid Cast:
Невозможно привести объект COM типа 'System .__ ComObject' к типу класса 'System.Net.Mail.Attachment'.Экземпляры типов, которые представляют компоненты COM, не могут быть преобразованы в типы, которые не представляют компоненты COM;однако они могут быть преобразованы в интерфейсы, если базовый компонент COM поддерживает вызовы QueryInterface для IID интерфейса.
Я также не могу просто указать
System.Net.Mail.Attachment newAtt = item.Attachments[1];
Как VisualStudio 2010просто говорит мне, чтобы я его набрал.Любые предложения о том, как это исправить?