【发布时间】:2014-08-25 14:10:09
【问题描述】:
我想序列化一个有很多属性的类。其中一些属性很复杂。有一些类型 Bitmap、Color 等等,它们根本不被序列化。
我使用的方法如下:
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
MemoryStream stream = new MemoryStream();
serializer.Serialize(stream, obj);
stream.Flush();
stream.Seek(0, SeekOrigin.Begin);
XmlDocument returnDoc = new XmlDocument();
returnDoc.Load(stream);
如何为这些复杂的属性创建“自定义”方法?到目前为止,我自己创建了 XML 文档,并遍历了每个属性并将其转换为文本。
另一个我需要这个的例子是关于引用。这个类有一些对其他类的引用。我不希望整个子类被序列化,而只是它的名称。
我确信有不同的方法来实现这一点。最好的方法是什么?
我已经很难创建额外的属性并忽略其他属性 (XmlIgnore()),但这将是一个开销。
谢谢!
【问题讨论】:
标签: c# serialization