gpt4 book ai didi

C# 克隆既不实现 IClonable 也不实现 ISerializable 的对象

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:50 24 4
gpt4 key购买 nike

我已经尝试了所有我能想到的方法,但还是无法解决这个问题。基本上,我正在制作一个 Outlook 2010 加载项,它对传入的 HTML 格式的电子邮件进行调整,目的是让视障用户(尤其是视障用户)更容易访问它们。

一切正常,除了当我的加载项运行时,它实际上尝试修改原始电子邮件,无论我尝试什么,连接 Exchange 的 Outlook 根本不喜欢并拒绝。我想要做的是在不修改原始邮件的情况下显示我修改后的电子邮件消息和所有好东西(回复、全部回复、密件抄送等,就像您通常使用 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”的副本……它是指向它的指针。我怎样才能复制/克隆这个不可序列化/可克隆的对象?我已经尝试了各种“深度克隆”功能,但它们都给我关于“不可序列化”或其他错误的相同错误。

最佳答案

有什么理由不能使用 MailItem.Copy方法?

Outlook.MailItem mailItem = (selObject as Outlook.MailItem);
Outlook.MailItem accessible_mail_item = mailItem.Copy();
...rest of my code...
accessible_mail_item.Display(false);

关于C# 克隆既不实现 IClonable 也不实现 ISerializable 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com