先週は連載にかなりの時間を費やしました。その間、BinaryFormatter または XmlSerializer を利用した多くの例を見つけました。残念ながら、私が見つけられなかったのは、2 つの違いを包括的に詳述する例ではありませんでした。
私の好奇心の起源は、BinaryFormatter がインターフェイスに直接逆シリアル化できるのに XmlSerializer ができない理由にあります。Jon Skeetは、「実行時に複数の (未知の型) にキャストする」 への回答で、インターフェイスへの直接バイナリ シリアル化の例を提供しています。Stan R.は、「 XML Object Deserialization to Interface」への回答で、XmlSerializer を使用して私の目標を達成する手段を提供してくれました。
XmlSerializer が XML を使用しているのに対し、BinaryFormatter はバイナリ シリアル化を利用していることは明らかですが、基本的な違いをより完全に理解したいと思います。どちらをいつ使用するか、およびそれぞれの長所と短所。