我不確定這段代碼如何工作。序列化如何在沒有構造函數的情況下工作?
[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的新實例。