C# 正在保存Mailitem的对象或可用于调用已保存的Mailitem的任何属性

C# 正在保存Mailitem的对象或可用于调用已保存的Mailitem的任何属性,c#,outlook,outlook-addin,comaddin,shared-addin,C#,Outlook,Outlook Addin,Comaddin,Shared Addin,我使用的是VS2010,DotNetFramework2.0。我已经在Extensibility->Shared Add-ins for Outlook中创建了一个项目 我想将Outlook.MailItem对象保存在explorer_SelectionChange()上的DataTable中,并使用此Outlook.MailItem对象来操作主题和正文 当我在datatable中保存Mailitem的对象时,它将被保存为SYS.ComAddins。 这是密码 类变量: private Outl

我使用的是VS2010,DotNetFramework2.0。我已经在Extensibility->Shared Add-ins for Outlook中创建了一个项目

我想将Outlook.MailItem对象保存在explorer_SelectionChange()上的DataTable中,并使用此Outlook.MailItem对象来操作主题和正文

当我在datatable中保存Mailitem的对象时,它将被保存为SYS.ComAddins。 这是密码 类变量:

private Outlook.MailItem connectingMailItem;
private Outlook.Inspectors inspectors;
private Outlook.Application applicationObject;
private object addInInstance;
private Outlook.Explorer explorer;
DataTable dtMailItem = new DataTable();
连接:

    explorer = this.Application.ActiveExplorer();
    explorer.SelectionChange += new Outlook.ExplorerEvents_10_SelectionChangeEventHandler(explorer_SelectionChange);
    dtMailItem.Columns.Add("MailItem",typeOf(Outlook.MailItem));
    tFollowUp = new Timer();
    tFollowUp.Interval = 100000;
    tFollowUp.Tick += new EventHandler(tFollowUp_Tick);
浏览器\u选择更改

void explorer_SelectionChange()
{
    if (connectingMailItem != null && connectingMailItem is Outlook.MailItem)
    {
        Marshal.ReleaseComObject(connectingMailItem);
        // Perform a Garbage Collection
        GC.Collect();
        connectingMailItem = null;
        return;
    }
    foreach (object selectedItem in explorer.Selection)
    {
        connectingMailItem = selectedItem as Outlook.MailItem;
        break;
    }
    if (connectingMailItem != null && connectingMailItem is Outlook.MailItem)
    {                
        dtMailItem.Rows.Add(connectingMailItem);
        dtMailItem.AcceptChanges();
    } 
}
t跟踪滴答声

 void tFollowUp_Tick(object sender, EventArgs e)
{
    if(dtMailItem.Rows.Count <= 0)
    {
        foreach(DataRow dr in dtMailItem.Rows)
        {
           // Manipulation code for subject and body or remove the Mailitem from Datatable
        }
    }
}
void tFollowUp\u勾选(对象发送方,事件参数e)
{

如果(dtmailtime.Rows.Count)您可以尝试中建议的方法来存储条目,然后使用相同的ID检索该条目。

对不起,我不理解您的问题。您可以发布一些代码来解释您尝试的结果吗?