Ya que puede convertir cualquier documento a una matriz de bytes y guardarlo en el disco, y luego reconstruir el archivo a su forma original (siempre y cuando tenga metadatos para su nombre de archivo, etc.).¿Por qué tiene que marcar una clase con el atributo [serializable]?
¿Por qué tiene que marcar una clase con [Serializable]
, etc.? ¿Es esa la misma idea, la información del tipo "metadatos", de modo que cuando se lanza el objeto a su clase, las cosas se asignan correctamente?
Para completar, si está almacenando los datos (en el disco, etc.) ** no ** recomiendo 'BinaryFormatter' (que es el principal que se preocupa por esto). La mayoría de los otros serializadores harán el trabajo, pero sin morderlo cuando cambie los tipos. –
Sin embargo, 'BinaryFormatter' es con mucho el más poderoso. Serializa campos y propiedades, serializa el objeto completo, incluidos los campos privados, y admite referencias cíclicas, además omite la construcción de objetos, por lo que no requiere un constructor predeterminado público, ninguno de los cuales, p. el 'XmlSerializer' proporciona. Si desea cambiar los tipos, tendrá que lidiar con el control de versiones. – mnemosyn
Lo opuesto: [why-doesnt-the-xmlserializer-need-the-type-to-be-marked-serializable] (http://stackoverflow.com/questions/392431/why-doesnt-the-xmlserializer-need- the-type-to-be-marked-serializable) – nawfal