В моем графике объекта, у меня есть что-то вродеBinaryFormatter граф объекта обновления
[Serializable]
public class Dog
{
string _name;
}
и у меня есть все виды списков Собаки и ссылок на собака.
Поскольку собака была только зверем в начале создания программного обеспечения, у меня не было необходимости в каком-либо базовом классе. Теперь, когда потребность возникла и теперь я хотел бы иметь
[Serializable]
public class Dog : Animal
{
public void Bark() { }
}
[Serializable]
public class Cat : Animal
{
public void DoTheCatStuff() { }
}
[Serializable]
public class Animal
{
string _name;
}
НО: когда я десериализация старого архива, у меня нет никаких собак. Они вообще не десериализировались из архива.
Что бы я хотел, это советы о том, как это сделать. Если мне понадобится новая иерархия классов и вручную скопируйте объекты со старой собаки в новый TheDog, хорошо, но хотелось бы избежать ее, если это возможно.
EDIT: Некоторые гуру .NET, ПОЧЕМУ У меня нет собак?
Я проверил простой тест с BinaryFormatter (сериализовать, изменить определение класса, десериализовать) с помощью кода выше, и я не видел никаких проблем. Вы уверены, что этот код является проблемой? –
Попробуйте добавить список к графу объектов ... –
@ Даниэль, я повторил со списком, но все равно не смог воспроизвести. –