Code-Beispiel
Ein Beispiel zum Einsatz der Klasse System.IO.MemoryStream aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Beim Deserialisierungsvorgang aus einer Byte-Folge kann ausgenutzt werden, dass ein MemoryStream-Objekt direkt aus einer Byte-Folge erzeugt werden kann.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ### Deserialisieren aus einer Byte-Folge
Function bindeserialize(ByVal ba As Byte())
As Object
Dim o As Object
Dim form As New BinaryFormatter()
Dim stream As New MemoryStream(ba)
o = form.Deserialize(stream)
stream.Close()
out("Objekt wurde deserialisiert")
Return o
End Function
Programmcodebeispiele CSharp (C#)
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
using System.Runtime.Serialization;
using System.IO;
using System.Xml.Serialization;
using System.Xml;
using System.Data;
namespace FCLBuch._System_RuntimeSerialization {
// Hilfsfunktionen für Serialisierung
public class SerializationHelper {
public static object Bin_Deserialize(byte[] ba) {
// Deserialisieren aus einer Bytefolge
BinaryFormatter form = new BinaryFormatter();
MemoryStream stream = new MemoryStream(ba);
object o = form.Deserialize(stream);
stream.Close();
FclOutput.PrintOut("Objekt wurde deserialisiert");
return o;
}
}
}
Hinweise
Ausgaben werden in den Beispielen durch Hilfsroutinen wie out() und
PrintOut() erzeugt. Diese sind hier nicht angegeben, da deren Implementierung
von der jeweiligen Umgebung abhängt. Für Konsolenanwendungen können hier z.B.
Console.WriteLine() einsetzen.
Querverweise
Liste aller Codebeispiele
Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.IO.MemoryStream'
Übersicht über den FCL-Namensraum 'System.IO'
.NET & Visual Studio Community Portal