Frage

Ich habe einige benutzerdefinierte Typen erstellt, zum Beispiel:

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

und ein ähnliches für Mass, usw.

Ich habe zum Beispiel auch ein benutzerdefiniertes Objekt Planet, das diese benutzerdefinierten Typen als Eigenschaften verwendet.

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

Was ist die beste Vorgehensweise für die Serialisierung? Planet in diesem Fall unter Berücksichtigung dessen Mass Und Temperature kann sich in Zukunft geringfügig ändern (z. B.hinzufügen Kelvin Zu Temperature)?Sollte ich haben Mass Und Temperature Erben von einer benutzerdefinierten Schnittstelle von so etwas wie IQuantity.

War es hilfreich?

Lösung

Bitte sehen Sie sich @Adriano an Kommentar.Das ist es, was ich brauchte.

Ja, Sie können so viele öffentliche Eigenschaften hinzufügen, wie Sie benötigen.Schauen Sie sich zum Vergleich diesen Beitrag hier auf SO an: Was sind die Unterschiede zwischen XmlSerializer und BinaryFormatter?

Andere Tipps

Die binäre Serialisierung ist sehr wählerisch, was das Hinzufügen und Entfernen von Eigenschaften zu Typen angeht.Wenn Sie einen versiontoleranten Serialisierer (z. B. XML-basierte Serialisierer) verwenden, können Sie zuverlässig zwischen Klassenversionen serialisieren/deserialisieren.

Vielleicht möchten Sie die Verwendung in Betracht ziehen protobuf.Net für Ihre Serialisierung - es ist ausgereift, sehr, sehr schnell und versiontolerant.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top