08/09/09 23:38:41 K1b5IlGG
こんばんは。
セーブデータの互換性維持については、私も過去に試みたことがありますので、
ご参考までに情報提供させていただきます。
このURLを参考に、C#に書き直してみることにしました。
URLリンク(www.codeproject.com)
いくつかの潜在的問題を解決し、より使いやすくした(つもり)のソースがこれです。
URLリンク(www4.uploader.jp)
パス:ft
基本コンセプトは、バージョン互換性が無くなったオブジェクトだけ、
互換性維持用のコードを書き足せばOK!みたいに考えていたのですが・・・
簡単なサンプルプログラムでは、問題なく動作するのですが、
FreeTrainのような複雑なデータ構造をデシリアライズしようとすると、
問題が次々に現れまして・・・
たとえば、ベースクラスと継承クラスで同じ名前のフィールドがあってnewキーワードで隠しているような場合、
デシリアライズでエラーになります。
そのような箇所を逐一修正していけば、あるいは使えるのかもしれませんが・・・
結局、半月ほど試行錯誤して、泥沼に嵌ってあきらめてしまいました。
それでも、何かのヒントになればと思いましたので、ご参考になればと思い書き込みました。