Pregunta

Si hay un objeto en el que cada propiedad pública debe ser serializado y propiedades son simples (sólo números o cadenas u objetos que ya lo aplican ISerializable), ¿hay una manera fácil de hacerlo sin tener que crear GetObjectData(SerializationInfo info, StreamingContext context) y un constructor teniendo SerializationInfo como argumento cada vez?

Sé que se puede hacer manualmente con la reflexión, pero ¿hay un método mágico dentro del .NET Framework para hacerlo?


Así que la respuesta correcta es:

  

No tratar de implementar ISerializable - es para la serialización personalizado. En su lugar añadir el [Serializable] atributo justo antes de su declaración de la clase.

¿Fue útil?

Solución

Trate la clase BinaryFormatter - debería hacer lo que tiene

EDIT: Usted no se derivan de BinaryFormatter - es una clase de utilidad que se utiliza para hacer su serialización. Este es un ejemplo copiado de los documentos

MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
obj.str = "Some String";
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
stream.Close();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top