Я провел большую часть времени на прошлой неделе, работая над сериализацией. За это время я нашел много примеров, использующих BinaryFormatter или XmlSerializer. К сожалению, того, что я не нашел, были примеры, подробно описывающие различия между ними.
Генезис моего любопытства заключается в том, почему BinaryFormatter способен десериализоваться непосредственно на интерфейс, в то время как XmlSerializer - нет. Jon Skeet в ответ на "приведение к нескольким (неизвестным типам) во время выполнения" дает пример прямого бинарная сериализация к интерфейсу. Stan R. предоставил мне средства для достижения моей цели, используя XmlSerializer в его ответе на десериализацию XML-объектов в интерфейс ".
Помимо очевидности BinaryFormatter используется двоичная сериализация, в то время как XmlSerializer использует XML, я хотел бы более полно понять фундаментальные различия. Когда использовать тот или другой и плюсы и минусы каждого.