Я написал некоторый код VSTO (2003), который успешно применяет некоторые обязательные изменения строки темы в соответствии с вложениями почтовых отправлений. Код написан для работы с microsoft.office.interop.outlook.mailitem. Однако мне нужен тот же код для работы с другими типами, такими как, например, microsoft.office.interop.outlook.appointmentitem (на самом деле он должен работать для всего, что Пользователь может отправить, что бы иметь тему).
Если предположить, что у типов элементов Outlook есть свойство субъекта, свойство вложений и метод сохранения, как мне подойти к написанию кода, который работает для всех соответствующих типов interop.outlook.
Я пытался решить эту проблему с помощью отражения, но GetProperty возвращает ноль, поэтому я не могу использовать GetValue для него
? mi.GetType().GetProperty("Subject")
null
?(mi as Microsoft.Office.Interop.Outlook.MailItem).Subject
"Test Subject"
похоже, что нет общего класса outlookitem, который я мог бы использовать для этого. Какой правильный подход?
EDIT:
Чтобы уточнить мой код начинается так ...
void Application_ItemSend(object Item, ref bool Cancel)
{
if (Item is Microsoft.Office.Interop.Outlook.MailItem)
{
Microsoft.Office.Interop.Outlook.MailItem currentItem =
Item as Microsoft.Office.Interop.Outlook.MailItem;
затем выполняет работу с currentItem (включая передачу в различные функции, в настоящее время набираемые с помощью свойств Microosft.Office.Interop.Outlook.MailItem. Я хочу, чтобы они обрабатывали «Microsoft.Interop.Outlook.somethingsendable»