![]() |
Tipp 0194
|
Objekte erstellen und serialisieren
|
 |
|
Autor/Einsender: Datum: |
|
Michael Werner 08.09.2009 |
|
Entwicklungsumgebung: |
|
VB.Net 2008 |
Framework: |
|
2.0 |
|
|
Wenn Klassenobjekte serialisiert (gespeichert) werden sollen, muss die Klasse mit dem Attribut <Serializable()> versehen werden.
Im Tipp wird eine Klasse Anschrift mit Name, Straße, Ort, Land und Telefon
über den Namespace System.Runtime.Serialization.Formatters.Binary
serialisiert und deserialisiert.
|
Im Load-Event des Formulars wird das gespeichertes Objekt deserialisiert (ausgelesen)
und im Ereignis FormClosing wird vor dem Schließen das Objekt erstellen und
serialisiert (gespeichert). Die Serialisation erfolgt mit System.Runtime.Serialization.Formatters.Binary
|
|
Die
Klasse SerialObjectBin
|
|
|
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary
Namespace zaack
Public Class SerialObjectBin
Private sFileBIN As String = _
Path.Combine(Application.UserAppDataPath, "bin.dat")
#Region " Binäres Serialisieren eines Objektes in eine Datei "
''' <summary>
''' Objekt serialisieren (speichern)
''' </summary>
''' <param name="o"></param>
''' <remarks></remarks>
Friend Sub SaveObject(ByVal o As Object)
'Schreiben - Serialisierung
'Objekt binär speichern mittels BinaryFormatter
Try
Dim converter As New BinaryFormatter
Dim stream As New FileStream(sFileBIN, _
FileMode.Create, FileAccess.Write, FileShare.Write)
converter.Serialize(stream, o)
stream.Close()
Catch ex As Exception
MessageBox.Show(ex.Message())
End Try
End Sub
''' <summary>
''' Objekt deserialisieren (auslesen)
''' </summary>
''' <returns></returns>
''' <remarks></remarks>
Friend Function ReadObject() As Object
'Lesen - DeSerialisierung
'Binärdatei lesen in Ojekt mittels BinaryFormatter
Dim o As Object
If Not File.Exists(sFileBIN) Then
Return Nothing
End If
Try
Dim converter As New BinaryFormatter
Dim stream As New FileStream(sFileBIN, FileMode.Open, _
FileAccess.Read, FileShare.Read)
o = converter.Deserialize(stream)
stream.Close()
Return o
Catch ex As Exception
MessageBox.Show(ex.Message())
Return Nothing
End Try
End Function
#End Region
End Class
End Namespace
| |
|
|
|
Windows-Version |
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
|
Download (21
kB)
|
Downloads bisher: [ 317 ]
|
|
|