serializar serializacion objeto ejemplo deserializar deserializacion binaria c# serialization binary deserialization binaryfiles

serializacion - serializar objeto c# xml



Cómo clase serial de serialización binaria (1)

Primero agregue el atributo [Serializable] antes de la declaración de clase. Obtenga más información acerca de los atributos en: https://msdn.microsoft.com/en-us/library/z0w1kczw.aspx

[Serializable] public class MyClass { private byte byteValue; private int intValue; private MyClass myClass1= null; private MyClass myClass2 = null; }

Nota: todos los miembros de la clase también deben ser serializables. Para serializar el objeto a binario puede usar el siguiente ejemplo de código:

using (Stream stream = File.Open(serializationPath, FileMode.Create)) { var binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); binaryFormatter.Serialize(stream, objectToSerialize); stream.Close(); }

Y para la deserialización de binario:

using (Stream stream = File.Open(serializationFile, FileMode.Open)) { var binaryFormatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); deserializedObject = (MyClass)binaryFormatter.Deserialize(stream); }

Tengo esta clase personalizada:

public class MyClass { private byte byteValue; private int intValue; private MyClass myClass1= null; private MyClass myClass2 = null; }

Obviamente también tengo métodos de constructor y get / set.

En mi forma principal inicializo una gran cantidad de objetos MyClass (tenga en cuenta que en el objeto MyClass tengo referencia a otros 2 objetos MyClass). Después de la inicialización, repito un primer elemento de MyClass , llámalo, por ejemplo, "raíz". Entonces, por ejemplo, hago algo como:

MyClass myClassTest = root.getMyClass1(); MyClass myClassTest2 = myClassTest.getMyClass1();

y así.

No, quiero almacenar en un archivo binario, todo el objeto MyClass instanciado, para volver a obtenerlos luego del reinicio del software.

No tengo idea de cómo hacer esto, ¿alguien puede ayudarme? Gracias.