我的好奇心起源于为什么BinaryFormatter能够直接反序列化接口,而XmlSerializer则不能。Jon Skeet在回答“casting to multiple (unknown types) at runtime”时提供了一个直接二进制序列化到接口的示例。Stan R.在他对“XML Object Deserialization to Interface”的回答中提供了实现我的目标的方法。
除了BinaryFormatter使用二进制序列化,而XmlSerializer使用XML之外,我想更全面地了解它们之间的根本区别。何时使用其中之一以及各自的优缺点。