Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: sebapoli00 en 18 Septiembre 2019, 03:09 am



Título: serializar y deserializar en c#
Publicado por: sebapoli00 en 18 Septiembre 2019, 03:09 am
buenas, llevo horas dandole vueltas a un asunto que no he logrado solucionar.

lo que quiero hacer es serializar una lista de Account (cuentas) al momento de cerrar el programa y deserializarlo cuando lo vuelva a iniciar para tener las Account que ya fueron registradas.

mi clase Account es:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ParkingSystem
  8. {
  9.    public class Account
  10.    {
  11.        public int balance { get; set; }
  12.  
  13.        public string mobile { get; set; }
  14.  
  15.        public Account()
  16.        {
  17.  
  18.        }
  19.  
  20.        public Account(int newBalance, String newMobile)
  21.        {
  22.            balance = newBalance;
  23.            mobile = newMobile;
  24.        }
  25.  
  26.        public void addBalance(int newBalance)
  27.        {
  28.            balance += newBalance;
  29.        }
  30.    }
  31. }
  32.  

clase con la lista:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Xml.Serialization;
  8.  
  9. namespace ParkingSystem
  10. {
  11.    public class SystemController
  12.    {
  13.        private static List<Account> accountsList = new List<Account>();
  14.  
  15.        public void addAccount(Account account)
  16.        {
  17.            accountsList.Add(account);
  18.        }
  19.  
  20.        public List<Account> GetAccounts()
  21.        {
  22.            return accountsList;
  23.        }
  24.    }
  25. }
  26.  

como podria serializar y deserializar de manera sencilla?

Muchas gracias.


Título: Re: serializar y deserializar en c#
Publicado por: ThunderCls en 16 Octubre 2019, 17:53 pm
La forma mas sencilla es usando el atributo de clase [Serializable]

https://docs.microsoft.com/en-us/dotnet/api/system.serializableattribute?view=netframework-4.8
https://www.c-sharpcorner.com/article/serialization-and-deserialization-in-c-sharp/