【发布时间】:2016-06-15 22:54:28
【问题描述】:
问题中的陈述是否正确?
例如,似乎没有办法用 XmlSerializer 序列化下面的代码(混合类型的数组),而 BinaryFormatter 工作得很好:
using System.IO;
[Serializiable]
class ParentCls
{
int k;
}
[Serializiable]
class X : ParentCls
{
string name = "foobar";
}
[Serializiable]
class Y : ParentCls
{
double price = 32.0;
}
class Program
{
static void Main(string[] args)
{
ParentCls[] data = new ParentCls[] { new X(), new Y() };
using (Stream stream = File.Open("tmp.bin", FileMode.Create))
{
var binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
binaryFormatter.Serialize(stream, data);
}
}
}
在某些情况下 XmlSerialiser 可以做 BinaryFormatter 不能做的事情 (即在哪里使用 XmlSerialiser 是唯一的方法)?
【问题讨论】:
标签: c# serialization