基类只包含方法。
答案 0 :(得分:1)
如果不更改包含程序集的版本号,那么添加基类不应该是二进制序列化的问题,对于XML来说它根本不重要,因为它与实际类型非常松散耦合。
只需确保基数也标记为[Serializable]以进行二进制序列化。 我刚刚测试并证实了这一点。
使用二进制格式化程序
序列化以下类[Serializable]
public class Test
{
public string Name { get; set; }
}
获得以下base64编码输出:
AAEAAAD ///// AQAAAAAAAAAMAgAAAEpDb25zb2xlQXBwbGljYXRpb24xLCBWZXJzaW9uPTEuMC4wLjAs IEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAIENvbnNvbGVBcHBsaWNhdGlv bjEuUHJvZ3JhbStUZXN0AQAAABU8TmFtZT5rX19CYWNraW5nRmllbGQBAgAAAAYDAAAABWhhc2FuCw ==
然后为Test添加了以下基类:
[Serializable]
public class Base
{
public void Dhuz() { }
}
并且成功地再次序列化了base64编码的东西。