Ich habe diese KlasseStrategie für Deserialisieren eine Klasse, die in .NET
[Serializable]
public class myClass() : ISerializable
{
public int a;
public int b;
public int c;
public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
// Some code
}
public myClass(SerializationInfo info,
StreamingContext context)
{
// Some code
}
}
Ich habe Hunderte dieser Objekte in der Datenbank geändert hat. Ich bin jetzt bereit, eine neue Version meiner App zu veröffentlichen, wenn die Klasse zu
[Serializable]
public class myClass() : ISerializable
{
public int a;
public string b;
public int c;
public bool d;
public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
// Some code
}
public myClass(SerializationInfo info,
StreamingContext context)
{
// Some code
}
}
Wie würde man ein Objekt deserialisieren serialisiert morphed hat auf der Grundlage der ersten Version mit der Deserialisierung Konstruktor der zweiten.
Gibt es auch Strategien für die zukünftige Version, die meine zweite Version der Klasse prüft?
einen Konverter Programm, das liest Objekte des ersten Typs, erzeugt Objekte des zweiten Typs und ersetzt die alten durch neue. Das Ausführen dieses Programms sollte lange dauern, wenn Sie über Hunderte, nicht Millionen von Datensätzen sprechen. – dasblinkenlight
Es gibt einen dedizierten MSDN-Artikel darüber. Besser dort starten: http://msdn.microsoft.com/en-US/library/ms229752%28v=vs.90%29.aspx –