上周我花了很长时间来研究系列化。 在那段时间里,我发现很多使用BinaryFormatter或者XmlSerializer的例子。 不幸的是,我没有find全面详细说明两者之间差异的例子。 我的好奇心的起源在于为什么BinaryFormatter能够直接反序列化到一个接口,而XmlSerializer没有。 Jon Skeet在“ 在运行时转换为多个(未知types) ”的答案中提供了一个直接二进制序列化到接口的例子。 Stan R.在“ XML Object Deserialization to Interface ”的回答中为我提供了使用XmlSerializer完成目标的方法。 除了BinaryFormatter的显而易见的利用二进制序列化,而XmlSerializer使用XML我想更充分地了解的基本差异。 什么时候使用其中一种或每种使用的利弊。