Domanda

Ho creato alcuni tipi personalizzati per esempio:

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
    }
}
.

e uno simile per Mass, ecc.

Ho anche un oggetto personalizzato, ad esempio Planet, che utilizza questi tipi personalizzati come proprietà.

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

Qual è la migliore pratica per il serializzazione Planet in questo caso considerando che Mass e Temperature possono cambiare leggermente in futuro (ad esempio aggiungere Kelvin a Temperature)?Devo avere Mass e Temperature che eredita da un'interfaccia personalizzata di qualcosa come IQuantity.

È stato utile?

Soluzione

Si prega di vedere @ Adriano Commento .Questo è quello di cui avevo bisogno.

.

Sì, puoi aggiungere tante proprietà pubbliche di cui hai bisogno.Per il confronto Dai un'occhiata a questo post qui su così: Cosa sonoLe differenze tra XMLSerializzatore e BinaryFormatter

Altri suggerimenti

La serializzazione binaria è piuttosto schizzinosa sulle proprietà aggiunte e rimosse ai tipi.Se si utilizza una versione TOLERANT SERIALIZER (ad es. SeriaLers basati su XML) sarai in grado di serializzare / deserializzarsi in modo affidabile tra le versioni delle classi.

Potrebbe voler considerare di utilizzare protobuf.net per la tua serializzazione - èmaturo, molto veloce e tollerante alla versione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top