Yo he estado buscando esto por un tiempo ahora- Cuándo utilizar DataContractSerializer/Binario/XMLSerialiser
Parece que la serialización binaria se desaconseja ya que cualquier cambio de nombres de campo rompe serialización =? No es bueno
XMLSerializer es problemático porque hay que proporcionar un constructor sin arg y campos públicos aunque tienes más control sobre los elementos de ser atributos o elementos y su puesto el nombre
DataContractSerializer es bueno, pero todos suclassses necesita ser explícitamente añadido que es una pena
Sin embargo, me encontré con NetDataContractSerializer que no tiene esta limitación.
Si su objetivo es la serialización de C# y no hay grandes limitaciones en el tamaño de xml, NetDataContractSerializer siempre es el camino a seguir aquí?
Xml Serializer también es muy interoperable. La desventaja principal son las restricciones o restricciones en el modelo de programación (ust tiene ctor predeterminado, para ser serializado, los datos deben ser públicos, etc.). ps: XML serializer también serializa public * fields *, además de las propiedades. – Cheeso
@ Cheeso: sí, gracias, buenos puntos –