我不确定这段代码如何工作。序列化如何在没有构造函数的情况下工作?
[Serializable]
class Blah
{
public Blah(int value)
{
this.value = value;
}
public int value;
}
BinaryFormatter b = new BinaryFormatter();
Blah blah = new Blah(4);
MemoryStream s = new MemoryStream();
b.Serialize(s, blah);
s.Seek(0, SeekOrigin.Begin);
blah = null;
blah = (Blah)b.Deserialize(s);
因为我没有无参数的构造函数,所以看起来很奇怪,反序列化器可以创建一个Blah的新实例。