Inicio Informática Programación .NET Serializar/Deserializar en c#
 
Serializar/Deserializar en c# E-mail
Escrito por Marcos   
Viernes, 11 de Junio de 2010 20:02

Voy a explicar como serializar y deserializar una lista tipificada en c#.

En mi caso lo utilicé porque tenia una lista con varios objetos, cada uno de los cuales contenía una configuración.

El usuario configuraba estos objetos y para guardar del tiron toda esta configuracion en un fichero y luego porder cargarla utilicé la serialización.

Cuando hablo de "configuracion" me refiero al valor de todos los atributos y propiedades, tanto privados como publicos.

A la clase hay que añadirla el atributo

 

[Serializable()]
public class Camara
{
.
.
.

 

La lista se llama "camaras" y es una IList<Camara>.

 

Para serializar:

 

StreamWriter w = new StreamWriter("config.cfg" );
MemoryStream memoryStream = new MemoryStream();
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, this.camaras);
string str = System.Convert.ToBase64String(memoryStream.ToArray());
w.WriteLine(str);
w.Flush();
w.Close();

 

 

Para deserializar:

 

StreamReader sr = new StreamReader("config.cfg" );
string objectStream = sr.ReadLine();
byte[] memorydata = Convert.FromBase64String(objectStream);
MemoryStream rs = new MemoryStream(memorydata);
BinaryFormatter sf = new BinaryFormatter();
this.camaras = (IList<Camara>)sf.Deserialize(rs);
sr.Close();

 

 

Se serializa en Base64.

Última actualización el Viernes, 11 de Junio de 2010 20:24
 
 

Búsquedas

Idiomas

Spanish English French German Italian