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

时间:2010-05-08 20:56:05

标签: c# content-type mime serialization

我想解析文本消息并存储到System.Net.Mime.Attachment类型的对象中。当我想序列化这个对象时会出现问题。

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

我该如何避免这种情况?

感谢。

1 个答案:

答案 0 :(得分: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));

你可以用上面的字符串做任何你想做的事(把它写到磁盘......等等)。