Jakie są różnice między XmlSerializer i BinaryFormatter

W zeszłym tygodniu spędziłem dużą część pracy nad serializacją. W tym czasie znalazłem wiele przykładów wykorzystujących BinaryFormatter lub XmlSerializer. Niestety, nie znalazłem żadnych przykładów szczegółowo opisujących różnice między nimi.

Geneza mojej ciekawości polega na tym, dlaczego BinaryFormatter jest w stanie deserializować bezpośrednio do interfejsu, podczas gdy XmlSerializer nie.Jon Skeet w odpowiedzi na „rzucanie do wielu (nieznanych typów) w czasie wykonywania„podaje przykład bezpośredniej serializacji binarnej do interfejsu.Stan R. dostarczył mi środków do osiągnięcia mojego celu za pomocą XmlSerializer w jego odpowiedzi na „Deserializacja obiektów XML do interfejsu. ”

Poza oczywistością BinaryFormatter wykorzystuje serializację binarną, podczas gdy XmlSerializer używa XML, chciałbym lepiej zrozumieć podstawowe różnice. Kiedy używać jednego lub drugiego oraz zalet i wad każdego z nich.

questionAnswers(5)

yourAnswerToTheQuestion