Версионность при десериализации - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день ,есть базовый класс ,и производные. нужно сериализовать лист объектов. Первым полем сохраняю номер версии.
    [Serializable]
    public class BaseObject
    {
        public string Version;
        [NonSerialized]
        public Texture2D baseObject;   
        public Rectangle BaseRectangle;
        protected Vector2 Position, speed;
        protected int MinDepth, MaxDepth, ReproTime, LifeTime;
        protected bool IsRotate, isDead;
        public bool meet, sc, pc, dc;
        protected Random r = new Random();
        public BaseObject() { }
        public BaseObject(Texture2D baseO, Vector2 position, Vector2 spd, int lifeTime, int repro)
        {
            baseObject = baseO;
            MinDepth = 0;
            MaxDepth = 200;
            Position.X = position.X;
            Position.Y = position.Y;
            speed.X = spd.X;
            speed.Y = spd.Y;
            LifeTime = lifeTime;
            ReproTime = repro;
        }
Как мне при десериализации считать переменную версии? И делать загрузку объекта от версии?
+использую бинарную сериализацию

Решение задачи: «Версионность при десериализации»

textual
Листинг программы
class BaseMessage {
    string Version;
    byte[] data;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5