Версионность при десериализации - 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;
}