XML として保存されたシリアル化されたオブジェクトが多数ありますが、これらのオブジェクトに 2 つの変数を追加したいと考えています。
ここに私のオブジェクトがあります:
public class MyObject{
public Int32 MyVariables = 0;
}
このオブジェクトはかなりシリアル化されているため、これらの「古い」ファイルをアプリケーションに読み込む機能を維持したいと考えています。
ただし、オブジェクトを改善するには、次のような変数をいくつか追加する必要があります。
public class MyObject{
public Int32 MyVariables = 0;
public Dictionary<string,MyEnum> MyDict = new Dictionary<string,MyEnum>();
}
これらの新しい変数を追加するための最良の方法を提案できる人はいますか? 実際に MyObject を変更して辞書を追加しましたが、適切に読み込まれなくなったと思います。
前もって感謝します!
編集:オブジェクトの読み取り時に失敗した場所を確認するためにどこでも例外をキャッチすることもできません。そのためにこれを行っています:
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object obj = formatter.Deserialize(File.Open(Path, FileMode.Open));
編集2:これは実際には辞書の一部として列挙型を使用していることが原因である可能性があると[Serializable]
思います.列挙型の上に追加しましたが、それでも機能しません-考えですか?