我得到了一段由C#序列化后的二进制数据,但是我并没有这段数据的原始类代码,如何反序列化出二进制的原始代码。
[Serializable]
public class MyObject
{
public int m2 = 0x12; public int[,,] m_word_def = new int[2, 3, 2];
}
MyObject obj = new MyObject();
FileStream fileStream = new FileStream(sfile, FileMode.Create, FileAccess.ReadWrite);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fileStream, obj);
就像上面的例子,我得到了一个序列化后的二进制文件,这个时候如果我反序列化,并不能得到序列化之前的数据
IFormatter formatter = new BinaryFormatter();
MemoryStream serializationStream = new MemoryStream(savebin);
Object data = null;
data = (Object)formatter.Deserialize(serializationStream);
因为这里的代码不知道MyObject这个类结构,所以这里会报错误,有什么方法能在不知道类结构的情况下获得反序列化后的结果