質問

カスタムタイプをいくつか作成しました。

public class Temperature
{
    protected double _celcius;

    public Temperature(){}

    public Temperature(double celcius)
    {
        _celcius = celcius;
    }

    public double Celcius
    {
        //sets & returns temperature in Celcius
    }

    public double Fahrenheit
    {
        //sets & returns temperature in Fahrenheit
    }
}
.

Massなどの類似のもの。

私はカスタムオブジェクト、たとえばPlanetを持っています。これらのカスタムタイプをプロパティとして使用します。

[Serializable]
public class Planet
{
    public int PositionFromSun;
    public Mass Mass;
    public Temperature Temperature;
}
.

PlanetMassが将来的にわずかに変わる可能性があることを考慮すると、Temperatureをシリアル化するためのベストプラクティスは何ですか(例えば、KelvinへのTemperatureの追加)。MassTemperatureIQuantityのようなもののカスタムインターフェイスから継承する必要があります。

役に立ちましたか?

解決

a @ adriano's コメント。これが私が必要なものです。

はい、あなたはあなたが必要とするのと同じくらい多くのパブリックプロパティを追加することができます。比較のためにここでこの投稿を見てみましょう。XMLSerializerとBinaryFormatter

の違い

他のヒント

バイナリシリアル化は、追加されているプロパティが追加され、タイプに削除されたことがかなり簡単です。バージョントレラントシリアライザ(例:XMLベースのシリアライザ)を使用すると、クラスのバージョン間で確実にシリアル化/デシリアイアイアリングすることができます。

Protobuf.net を使用することを検討してください。成熟した、非常に迅速でバージョンの耐性。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top