我试过了所有我能想到的东西,但都无法弄清楚。基本上,我制作了一个Outlook 2010加载项,用于调整传入的HTML格式的电子邮件,以便让视觉障碍用户(尤其是视觉障碍用户)更易于访问。C#克隆既不实现IClonable也不实现ISerializable的对象
一切正常,除了当我的插件运行时,无论我尝试什么,它实际上都会尝试修改原始电子邮件,哪些Exchange连接的Outlook根本不喜欢并拒绝。我想要做的就是在不修改原始信息的情况下显示修改后的电子邮件信息(回复,全部回复,BCC等,就像您通常使用Outlook一样),即我只想显示我修改的消息,不修改存储的消息或添加新的消息。
如:
if (selObject is Outlook.MailItem)
{
Outlook.MailItem mailItem = (selObject as Outlook.MailItem);
Outlook.MailItem accessible_mail_item = mailItem;
...rest of my code...
accessible_mail_item.Display(false);
}
我的问题是,“accessible_mail_item”不是“的MailItem”的副本...这是一个指针。我如何制作这个不可序列化/可复制对象的复制/克隆?我已经尝试了各种“深层克隆”功能,但它们都给了我“关于不可序列化”或类似的错误。
注:这个问题是这样的文本避免“感谢信”(给予好评/评论/接受答案,而不是)和签名是很少的问题增加价值。 –