0

C# 用のテキストベース (つまり、バイナリではなく人間が読める) の拡張可能なシリアライゼーションを探しています。

保存したいアイテムの数はかなり少ないです (<100)。逆シリアル化後に実際に使用されるクラスを満たす、シリアル化用の追加クラスを作成しても問題ありません。

標準の組み込み XML シリアライゼーションは、読みやすくも拡張性もないと思います。

私はすでに protobuf-net を調べましたが、有望に見えましたが、バイナリであるため削除しました。

カスタムのシリアル化も試しましたが、ツー オブ ア カインドをシリアル化できませんでした。

JSON.net も見ましたが、カスタムのシリアル化よりもうまく機能しませんでした。

私のデータ構造は現在、おおよそ次のようになっています。

class ClassIWantToSerialize
{
    DataContainer A;
    DataContainer B;
    DataContainer C;
    DataContainer D;
    DataContainer E;
    DataContainer F;
    double G;
    double H;
    // other stuff that I don't want to serialize...
}


class DataContainer
{
   MinorDataContainer A;
   MinorDataContainer B;
   double C;
   double D;
   double E;
   double F;
    // other stuff that I don't want to serialize...
}

class MinorDataContainer
{
   double A;
}

MinorDataStructure2 番目(つまり)を追加しようとしたときに問題が発生しB、同じフィールドを 2 回追加できないと不平を言いました。

class DataContainer
{
    public void GetObjectData(SerializationInfo info, StreamingContext context)
    {
        A.GetObjectData(info, context);
        B.GetObjectData(info, context); // error upon calling this line
        info.AddValue("C", C);
        //...
    }
}
4

0 に答える 0