如何序列化 System.Net.Mime.ContentType 类型的对象?

Posted

技术标签:

【中文标题】如何序列化 System.Net.Mime.ContentType 类型的对象?【英文标题】:How to serialize an Object of type System.Net.Mime.ContentType? 【发布时间】:2011-02-17 05:51:47 【问题描述】:

我想解析文本消息并将其存储到 System.Net.Mime.Attachment 类型的对象中。当我想序列化这个对象时,问题就来了。

Error: Type "System.Net.Mime.ContentType" is not marked as serializable.

我怎样才能避免这种情况?

谢谢。

【问题讨论】:

【参考方案1】:

您将无法在此处进行简单的序列化,因为该类本身没有使用 [Serializable] 属性进行标记。

但是,在查看docs 之后,看起来该类实际上只是构造和操作诸如“text/javascript”之类的字符串的助手。并且根据 ToString 方法的文档,您可以仅使用 ToString 方法和构造函数来往返 ContentType 对象。

例如:

ContentType ctype = ....;//your content type object
String serialized_form = ctype.ToString();
//save the string to whatever medium you like
...
ContentType ctype2 = new ContentType(serialized_form);
Debug.Assert(ctype.Equals(ctype2));

你可以对上面的字符串做任何你想做的事(把它写到磁盘上……随便)。

【讨论】:

以上是关于如何序列化 System.Net.Mime.ContentType 类型的对象?的主要内容,如果未能解决你的问题,请参考以下文章

c# sorket序列化反序列化如何如何传接Object?

什么是序列化,在java中如何实现序列化?

如何序列化一个 lambda?

什么是序列化? 如何实现(反)序列化 序列化的应用

什么是序列化? 如何实现(反)序列化 序列化的应用

什么是序列化? 如何实现(反)序列化 序列化的应用