C # Objekt in Binärdatei schreiben

7

Ich muss ein Objekt in eine Binärdatei schreiben. Meine Struktur sieht so aus.

%Vor%

Was ist der beste Weg, um die obige Operation durchzuführen? Grüße Raju

    
user209293 08.04.2010, 09:59
quelle

3 Antworten

7

Wie soll die Ausgabe genau aussehen? Sie können ihn schreiben manuell (siehe Lirik Antwort), oder wenn Sie Runtime-Unterstützung möchten, vielleicht so etwas wie protobuf-net.

Dies wäre trivial zu tun, wenn Sie Klassen wurden (was ich erwarte, dass Sie eigentlich sein soll), sondern zusätzlich protobuf-net v2 (nur als Quelle zur Zeit verfügbar) sollte mit dem „wie“ arbeiten.

Für Info, hier ist, wie ich es als Klassen tun würde:

%Vor%

Dies könnte mit Serialisierung Attribute eingerichtet werden, oder (wieder protobuf-net v2 verwenden) so etwas wie dieser Test (die Durchgänge):

%Vor%

(und schreibt 46 Bytes)

Es sollte mit privaten Feldern, Structs usw. arbeiten - ich müsste einen Blick darauf werfen ...

Wenn Sie Attribute hinzufügen können, müssen Sie das Modell nicht manuell einrichten (die ersten 4 Zeilen). Der Rest des Codes zeigt nur die vollständige Round-Trip-Nutzung.

    
Marc Gravell 08.04.2010, 11:42
quelle
9

Nach meinem Verständnis ist BinaryFormatter das Werkzeug für diesen Job.

Bearbeiten: Wie Marc in den Kommentaren erklärt, hat BinaryFormatter gewisse Nachteile. Er empfiehlt protobuf-net in seinem Blog.

    
Jens 08.04.2010 10:02
quelle
5

Hier ist ein Beispiel , wie Sie eine Binärdatei lesen / schreiben können:

%Vor%     
Kiril 08.04.2010 10:03
quelle

Tags und Links