[Serializable]
public class CustomObject
{
public int id { get; set; }
public string type { get; set; }
public string inner_name { get; set; }
public int speed {get; set;}
public int height {get; set;}
public int width {get; set;}
}
[Serializable]
public class TheCar : CustomObject
{
public Color color {get; set;}
public string mark {get; set;}
// ...
public TheCar()
{
// ...
}
}
// ...
public class ObjectsCache
{
static List<CustomObject> AllObjects { get; set; }
static List<TheCar> Cars { get; set; }
static List<ThePlane> Planes { get; set; }
static List<TheShip> Ships { get; set; }
// ...
AllObjects = new List<CustomObject>();
Cars = new List<TheCar>();
Planes = new List<ThePlane>();
Ships = new List<TheShip>();
static int incrementId = 0;
public static int NextId()
{
return ++incrementId;
}
public static void AddNewCar(TheCar car)
{
car.id = NextId();
AllObjects.Add(car);
Cars.Add(car);
}
// ...
}
public class GlobalVariables
{
public static string state { get; set; }
public static string city { get; set; }
public static string country { get; set; }
public static int time { get; set; }
// ...
}
Сериализация списка классов (нескольких классов)
В общем задача такова:
Нужно сделать сохранение классов с заполненными полями в файл, а затем сделать загрузку из файла этих данных.
Классы выглядят так:
Код:
TheCar, TheShip, ThePlane - соответственно наследуются от CustomObject, дополняя своими свойствами
При создании нового экземпляра любого из этих классов, обьект добавляется в список AllObjects а затем в список подходящий под свой тип (например Cars), по коду выше видно
Каждый класс содержит уникальный айди, который при создании обьекта инкрементируется и записывается через ObjectsCache.
***
Подводя итог, нужно сохранить в файл / загружать из файла (желательно все в одном файле)
1) списки классов:
static List<CustomObject> AllObjects { get; set; }
static List<TheCar> Cars { get; set; }
static List<ThePlane> Planes { get; set; }
static List<TheShip> Ships { get; set; }
2) Последний айди из ObjectsCache (т.е. значение incrementId)
3) А так же класс глобальных переменных GlobalVariables
Помогите пожалуйста!!!