我已经编写了一些VSTO(2003)代码,根据邮件项目的附件成功应用了一些强制主题行更改。该代码被编写为在microsoft.office.interop.outlook.mailitem上运行但是,我需要相同的代码来操作其他类型,例如microsoft.office.interop.outlook.appointmentitem(实际上它需要适用于任何用户可以发送那将有一个主题)。如何处理Outlook VSTO对象,就好像它们是邮件项目
假设Outlook项目类型有一个主题属性,一个附件属性和一个保存方法,我该如何处理编写适用于所有相关的interop.outlook类型的代码。
我试图通过反射解决这一点,但在的getProperty空returing所以我不能使用的GetValue它
? mi.GetType().GetProperty("Subject") null ?(mi as Microsoft.Office.Interop.Outlook.MailItem).Subject "Test Subject"
似乎没有成为一个通用的outlookitem类我可以投给,要做到这一点。什么是正确的方法?
编辑: 要clarif我的代码开始是这样的...
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”
什么类型是mi声明的? – 2010-11-15 15:32:13
在我的原代码中声明为mailitem,但是,我希望能够处理其他类型...我将编辑我的问题以阐明 – Andiih 2010-11-15 15:38:42